c语言复习(答案)
C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。
02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。
04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。
B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。
D、__int。
09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。
C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。
12写出下式的运算结果:10/3*3、0正确答案是:9、0。
C语言复习题(答案)

1.编程计算球的体积(V=34πr3),要求半径通过键盘输入,π的值定义为符号常量PI ,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
#include<stdio.h>main(){float r,v;scanf(“%f ”,&r)v=4/3*PI*r*r*r;printf(“v is %.2f ”,v);}2.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。
#include<stdio.h>main(){int n,s,g,b;printf(“please input n:\n ”);scanf(“%d ”,&n);g=n%10;s=n/10%10;b=n/100;printf(“%d”,100*g+10*s+b);}3.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。
#include <stdio.h>main(){int a,s,c,b;printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);while(a+b)<=c||(a+c<=b||(b+c)<=a);{printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);}s=(a+b+c)/2;area=sqrt(s*(s-a)(s-b)(s-c));printf(“area is:%d\n”,area);}4. 输入3个字符,反向输出这3个字符和它们的ASCII码。
#include <stdio.h>main(){char ch1,ch2,ch3;printf("please input ch1&ch2&ch3:");scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c\t%c\t%c\n”,ch3,ch2,ch1);printf(“%d\t%d\t%d\n”,ch3,ch2,ch1)}5.编程计算圆的面积(S=πr2),要求半径通过键盘输入,π的值定义为符号常量PI,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
C语言1-5章复习题和参考答案.doc

1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c;执行语句c=a/b+0.4;后,c的值为()。
A .1.4 B.l C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=l;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。
A .6 B.3 C.死循坏D.O4、下列关于表达式的描述屮,错误的是()0A.常量和变量都是表达式。
B.运算符类型对应表达式的类型。
C.每一个表达式都有自己的值。
D.表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A.'\t'B."A"C.65D.a6、若已定义x和y为double类型,则表达式x=l;y= (x+3) /2的值是()。
A.lB.2C.2.00000D.2.500007、表达式:10!二9的值是()oA.trueB.非零值C.OD.l8、以下程序的输出结果是()。
#include<stdio.h>void main(){printf("%d\n", NULL);}A.不确定的B.OC.-lD.l9、请选出合法的C语言赋值语句。
()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10^假设int b=2;表达式(b»2)/(b»l)的值是()。
A .0 B.2 C.4 D.811>关于语句printf("hello world\rT);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B.printf()括号屮的内容为函数的参数。
C.printf()括号中的内容会全部输出到控制台上。
C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。
(完整版)C语言题库(带详解答案)

(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。
A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。
A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。
A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。
A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。
c语言备考复习题与部分答案

一、判断题1. 格式字符%md中的m不能为负。
(×)2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。
( )3. printf("%d",sizeof(1234));其结果是4。
(×)4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。
( )5. 下面程序执行结果是32768。
(×)main( ){int a,b;printf("%d\n",b=(a=32767,a+1));}二、单选题1. 下述程序的输出结果是(B )#include <STDIO.H>void main(){int a,b,c=241;a=c/100%9;b=-1&&-1;printf("%d,%d",a,b);}2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D )A)scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B)scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c); D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c, &c);3. 已有定义double d,f;数据的输入方式为:3.45<CR> 1.2<CR>根据定义和数据的输入方式,输入函数调用语句的正确形式为(A )A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f)C)scanf("3.2f%3.1f",&d,&f)D)scanf("%3.2lf%3.1lf",&d,&f)4. 如下程序: #include <STDIO.H>void main(){ int m,n,k;m=(n=4)+(k=10-7);printf(“m=%d\n”,m);}运行后m的值为( C )。
C语言复习题及答案

复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( )A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B)0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。
sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。
x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。
A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。
A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。
A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。
C语言复习资料,有答案

一、填空题1.C语言所提供的基本数据类型包括:单精度、双精度、整型、字符型。
2.若定义int m=8,y=3;则执行y*=y+=m-=y;后y的值是64。
3.Ox10相当于八进制数20 。
4.%m.n表示数据输出的总宽度占M列,其中小数部分占N 列。
5.C语言提供的3种逻辑运算符是非、或者、与。
6.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为1,m 的值为1,d的值为0。
7. 在数组定义格式中,放括号中的元素个数是量。
8. 判断字符串a和b是否相等,应当使用strcmp函数。
9. 在C语言中不能被调用的函数是函数。
10、目前,有两种重要的程序设计方法,分别是面向对象和面向过程。
12、面向对象程序设计的三个特征:多态、继承和封装。
13、在一个C源程序中,注释部分两侧的分界符为___ * */ __ 。
14、do----while 语句至少执行____1____次循环体。
15、在C语言中,一个double型数据在内存中所占的字节数为__8___。
16、若s是unsigned int型变量且已赋初值,则表达式s%2+(s+1)%2的值是__1_______17、表达式3>4的值是___0________18、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后,x的值为11,n的值为6。
19、若x=0,y=0,z=0,则计算表达式x++||y++&&z++后,x的值为1,y的值为1,z的值为1。
二、单项选择题1、下列各高级语言中,(B)是面向对象的程序语言。
A)Basic B)C C)C++ D)Pascal2、一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束3、C语言规定,不同类型的数据占用存储空间的长度是不同的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言复习(答案)模拟复习一、选择题1.C语言提供合法的数据类型关键字是( B ) 。
A. DoubleB. shortC. whileD. temp2.对于下列各字符串,请选取择正确的标识符( A ) 。
A. _123B. forC. 5abcD. I_$3.在C语言中,错误的转义字符是 ( A ) 。
A. '\091'B. '\\'C. '\0'D. '\''4.C语言中运算对象必须是整型的运算符是( A )。
A. %B. /C. =D. <=5.设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b 和c的值分别是 ( B ) 。
A. 2,1,2B. 2,0,3C. 2,2,3D. 2,1,36.以下不符合C语言语法的赋值语句是( D ) 。
A. i++;B. i+=i=5;C.k=(2*4,k*4);D. float(i)=y;7.设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为( C )。
A. intB. floatC. doubleD.不确定8.单精度数x=3.0,y=4.0,下列表达式中y的值为9.0的是( B )。
A. y/=x*27/4B. y+=x+2.0C. y-=x+8.0D. y*=x-3.09.已知变量int x=1,a=0,b=0; 执行下列程序段后a,b的值为( A ) 。
switch(x) { case 0 : b++;case 1 : a++;case 2 : a++;b++ ;}A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=210.为避免在嵌套的条件语句if—else 中产生二义性,C语言规定:else子句总是与( B )配对。
A. 缩排位置相同的ifB. 其之前最近的且尚未配对的ifC. 其之后最近的ifD. 同一行上的 if11.已知:int a[ ][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( B ) 。
A. 2B. 3C. 4D. 无确定值12.判断char型变量m是否为小写字母的正确表达式是( D )A. ‘a’<=m<=‘z’B. (m>=a)&&(m<=z)C. (m>=‘a’)||(m<=‘z’)D. m>=‘a’&&m<=‘z’13.已知变量float x=1.2,y=23.41;int z=345;要使输出为x=1.20, y=23.4,z=345(中间无空格),则应使用语句printf(“__C____”,x,y,z);A. %4.2f,%5.1f,%5dB.%4.2f,%4.1f,%5dC. %4.2f,%4.1f,%2dD.%4.1f,%4.1f,%2d14.以下叙述正确的是( C ) 。
A. do-while循环不能用其他语句构成的循环来代替B. while循环只能用break语句退出C. do-while循环在while后的表达式为0时结束循环D. for循环只能用于循环次数已经确定的情况15.以下程序的执行结果是( B )。
void main(){ int x=3;do{ printf(“%d”, x); }while(!x);A. 2B. 3C. 4D. 陷入死循环16.以下程序的输出结果是( A )。
void main(){ char i;for(i='A';i<'I';i++,i++)printf(“%c”, i);}A. ACEGB. ACEGIC. ABCDEFGD.编译通不过17.若有以下程序片段,输出结果是 ( C ) 。
char str[]=“ab\n\012\\\””;printf(“%d", strlen(str));A. 3B. 4C. 6D. 1218.下面程序段的运行结果是( C )。
char a[7]=”abcdef”,b[4]=”ABC”; int i; strcpy(a,b);for(i=0;i<7;i++)printf(“%c”,a[i]);A. ABCdefB. ABCC. ABC efD. ABC def19.不能对二维数组a进行正确初始化的语句是( B )。
A. int a[2][3]={0};B. int a[2][3]={{1,2},{3,4},{5,6}};C. int a[][3]={{1,2},{0}};D. int a[][3]={1,2,3,4,5,6};20.设有以下宏定义: #define Y(m,n) m*n若定义int s; 且令s=Y(2+1,3+5),则变量s的值为( C )。
A. 12B. 24C. 10D. 1121.若有以下定义int a[5],*p=a; 则a数组元素地址的正确引用是( B ) 。
A. &a[5]B. p+2C. a++D. &a22.在C语言中,寄存器变量存储类型的说明符是( B )。
A. autoB. registerC. staticD.extern23.一个C程序的执行是从( A )。
A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束24.若使用一维数组名作函数实参,则以下正确的是( B )A. 实参数组名与形参数组名必须一致B. 实参数组类型与形参数组类型必须匹配C. 在主调函数中必须说明此数组的大小D. 在被调用函数中,必须考虑形参数组的大小25.若函数的类型和return语句中表达式的类型不一致,则( D )。
A. 编译时出错B. 运行时出现不确定结果C. 不会出错,返回值的类型以return语句中表达式的类型为准D. 不会出错,返回值的类型以函数的类型为准26.对函数的调用不可以出现在( B ) 。
A. 对一个变量赋初值B. 函数的形式参数C. 调用函数时传递的实际参数D. 引用数组元素[ ]的运算符中27.以下正确的函数定义形式是( A ) 。
A. float sum(int x, int y)B. float sum(int x;int y);C. float sum(int x, y)D. float sum(int x, int y);28.已有定义int k=2;int *p,*q;且p和q均已指向变量k,下面不能正确执行的赋值语句是( A )。
A. p=k;B. p=q;C. k=*p+*q;D. k=*p*(*q);29.以下程序的输出结果是( D ) 。
void main( ){char a[6]={'1','2','3','4','5',0},*p;int i=2;p=a+i;printf("%s\n",p);}A. 2B. 2345C. '3'D. 34530.设有以下宏定义: #define N 2#define Y(n) ((N+1)*n)则执行语句: z=2*(N+Y(3+1)); 后,z的值是( B )。
A. 出错B. 24C. 28D. 34二、填空题1.结构化程序设计的三种基本结构是顺序、选择(分支)、循环。
2.在C语言中,指针是变量的地址。
3.当a=2,b=1,x=1,y=2,z=3时,执行完d=(a=x==y) && (b=y>z)后a值为0 ,b值为 1 。
4.C语言程序中,函数不允许嵌套定义,但允许嵌套调用。
5.若有定义int a[4][5],则元素a[2][3]是数组中第14 个元素。
6.若有int a=7,*point=&a;执行(*point)++后,变量a的值为8 。
三、程序填空1.以下程序的功能是:求正整数a,b的最大公约数和最小公倍数。
#includevoid main(){ int a, b, t, m, n ;scanf("%d%d", &a, &b);m=a ;n=b ;do{ ① t=a%b ;a=b ;b=t ;}while( b!=0 );printf("最大公约数=%d\n", ② a );printf("最小公倍数=%d\n", ③ m*n /a );}2. 以下程序的功能是:定义递归函数计算f(x)= #include int func(int n){ int t;if (n==1) ① t=1 ;else if (n==2) t=2;else t= ② f(n-1)+2*f(n-2) ;③ return t ;}void main( ){ int n, s;scanf("%d", &n);s= ④ f(n) ;printf("%d", s);}3. 定义并调用函数swap 实现交换两个变量a 和b 的值。
#includevoid swap(int *x, int *y){ int flag;① flag=*x ;② *x=*y ;③ *y=flag ;} 1(x=1) 2(x=2)f(x-1)+2*f(x-2) (x>2)void main( ){ int a=1,b=3;swap( ④ &a, &b );printf("a=%d,b=%d\n",a,b); }四、读程序写结果1. #includevoid main( ){ int a[][3]={1,2,3,4,5,6,7,8,9}, i, j, s=0; for(i=0;i<3;i++) for(j=0;j<3;j++)if(i==j){ s=s+a[i][j];printf(“%3d ”,a[i][j]); }printf("\ns=%3d",s);}运行结果是:2. #includeint d=1;void fun (int p){ int d=3;d+=p++;printf("%d\n",d);}void main(){ int a=3;fun(a);d+=a++;printf("%d\n",d);1 5 9 s= 15 64}运行结果是:3. #includeint fun(int t){ switch(t){ case 1 : return 1;case 2 : return 2;case 3 : return 3;default : return(fun(t-1)+2*fun(t-2)+3*fun(t-3)); }; } f(4)+2f(3)+3f(2)=9+10+3void main(){ printf("%4d", fun(5));} 运行结果是:4. #includevoid main(){ int i,j,k;for( i=0;i<=5;i++ ){ for( j=1;j<=i;j++ )printf(" ");for( k=10-2*i;k>1;k--)printf("*"); printf("\n"); } } 运行结果是:22********* ******* ***** *** *。