工学C语言单元习题集.docx
- 文档编号:3406246
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:42
- 大小:39.37KB
工学C语言单元习题集.docx
《工学C语言单元习题集.docx》由会员分享,可在线阅读,更多相关《工学C语言单元习题集.docx(42页珍藏版)》请在冰豆网上搜索。
工学C语言单元习题集
程序设计基本概念
1.一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B),一个C程序总是从它开始执行。
(A)过程(B)主函数(C)函数(D)include
2.(A)是C程序的基本构成单位
(A)函数(B)函数和过程(C)超文本过程(D)子程序
3.下列说法正确的是(C)
(A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可
(B)一个函数的函数体必须要有执行部分,可以没有变量定义
(C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
(D)以上都不对
4.下列说法正确的是(D)
(A)main函数必须放在C程序的开头
(B)main函数必须放在C程序的最后
(C)main函数可以放在C程序的中间部分,即在一些函数之前在另一个函数之后,但在执行C程序时是从程序开头执行的
(D)main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C程序时是从main函数开始的
5.下列说法正确的是(C)
(A)在执行C程序时不是从main函数开始的
(B)C程序书写格式严格限制,一行内必须写一个语句
(C)C程序书写格式自由,一个语句可以分写在多行上
(D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号
6.在C语言中,每个语句和数据定义是用(C)结束
(A)句号(B)逗号(C)分号(D)括号
7.下列字符串是标识符的是(A)
(A)_HJ(B)9_student(C)long(D)LINE1
8.以下说法正确的是(C)
(A)C语言程序总是从第一个定义的函数开始执行
(B)在C语言程序中,要调用的函数必须在main()函数中定义
(C)C语言程序总是从main()函数开始执行
(D)C语言程序中的main()函数必须放在程序的开始部分
9.()不是C语言提供的合法关键字(B)
(A)switch(B)print(C)case(D)default
10.C语言提供的合法关键字是(A)
(A)continue(B)procedure(C)begin(D)append
1.一个函数由两部分组成,它们是(函数首部)和(函数体)
2.函数体一般包括(声明部分)和(执行部分)
3.函数体的范围是(最外层的一对花括号)
4.C语言是通过(库函数)来进行输入和输出的
5.在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个(声明部分)
6.C语言的关键字都用(小写){大写或小写}
7.主函数名后面的一对圆括号中间可以为空,但一对圆括号不能(没有)
C程序设计的初步知识
1.C语言中不能用来表示整常数的进制是(D)
(A)十进制(B)十六进制(C)八进制(D)二进制
2.在C语言中,反斜杠字符是(D)
(A)\n(B)\t(C)\v(D)\\
3.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码(A)
(A)大32(B)大64(C)小32(D)小1
4.设d为字符变量,下列表达式不正确的是(C)
(A)d=97(B)d=’a’(C)d=”a”(D)d=’g’
5.10+’a’+1.5-567.345/’b’的结果是(B)
(A)long(B)double(C)int(D)unsignedfloat
6.在C语言中,运算对象必须是整型数的运算符是(A)
(A)%(B)/(C)%和/(D)**
7.为表示关系x>=y>=z,应使用C语言表达式(A)
(A)(y<=x)&&(y>=z)(B)(x>=y)AND(y>=z)(C)(x>=y>=z)(D)(x>=y)&(y>=z)
8.若欲表示在if后a不等于0的关系,则能正确表示这一关系的表达式为(D)
(A)a<>0(B)!
a(C)a=0(D)a
9.下列常数中,合法的C常量是(A)
(A)”x-y”(B)’105’(C)’Be’(D)7ff
10.下列常数中,合法的C常量是(A)
(A)-0.(B)’105’(C)‘AB’(D)3+5
11.下列常数中,合法的C常量是(A)
(A)’\n’(B)e-310(C)’DEF’(D)’1234’
12.下列常数中,不合法的C常量是(B)
(A)-0x2a1(B)lg3(C)’[‘(D)”CHINA”
13.下列常数中,不合法的C常量是(B)
(A)-0x3b1(B)123e+2.3(C)’}’(D)6e+7
14.下列符号中,可以作为变量名的是(C)
(A)+a(B)12345e(C)a3B(D)5e+0
15.写出下面程序的输出结果(A)
main()
{intx,y,z;
x=y=1;
z=x++-1;
printf(“%d,%d\t”,x,z);
z+=-x+++(++y||++z);
printf(“%d,%d”,x,z);}
(A)2,03,-1(B)2,13,0(C)2,02,1(D)2,10,1
16.写出下面程序的输出结果(D)
main()
{intx=40,y=4,z=4;
x=y==z;
printf(“%d”,x);
x=x==(y-z);
printf(“%d”,x);}
(A)40(B)41(C)11(D)10
17.写出下面程序的输出结果(B)
main()
{intI,j;
I=16;j=(I++)+I;printf(“%d”,j);
I=15;printf(“%d%d”,++I,I);}
(A)321615(B)331515(C)341516(D)341615
18.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值为(C)
(A)1(B)2(C)2.0(D)2.5
19.下列程序的执行结果是(B)
#definesum10+20
main()
{intb=0,c=0;
b=5;
c=sum*b;
printf(“%d”,c);}
(A)100(B)110(C)70(D)150
20.表达式(double)(20/3)的值为(B)
(A)6(B)6.0(C)2(D)3
21.如果intI=3;则k=(I++)+(I++)+(I++),则k=(12),I=(6);
22.如果intI=3;则k=(I++)+(++I)+(I++),则k=(13),I=(6);
23.如果intI=3;则k=(++I)+(++I)+(I++),则k=(14),I=(6);
24.如果intI=3;则k=(++I)+(++I)+(++I),则k=(15),I=(6);
25.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为(K,5)
main()
{charc=’A’;intI=10;
c=c+10;
I=c%I;
Printf(“%c,%d\n”,c,I);}
26.C语言的数据类型有四大类,其分别为(基本类型),(枚举类型),(空类型),(派生类型)。
27.C语言的数据类型中构造类型包括三种,它们是(),(),()。
28.C语言基本数据类型包括(),(),(),()。
29.在C语言中,常量有不同的类型,包括(整型常量),(字符),(实型)和(字符串)。
30.符号常量是指(用#define指令,指定用一个符号名称代表一个常量)。
31.整型常量和实型常量也称为(数值常量),它们有正负值之分。
32.C语言中,习惯上符号常量名用(大写),变量用(小写)。
{大写或小写}
33.C语言在定义变量的同时说明变量的(),系统在编译时就能根据变量定义及其()为它分配相应大小的存储空间。
34.在C语言中,用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为(标识符)
35.整型变量可分为(),(),(),()四种,分别用(),(),(),()表示。
36.在一个整常量后面加一个字母(L)或(l),则认为是longint型常量。
37.在C语言中,实数有两种表示形式,即()和()。
38.下面的程序
main()
{printf(“___ab_c\t_de\rfg\n”);
printf(“h\ti\b\b\j___k”);}
运行结果是()
39.在C语言中,系统在每一个字符串的结尾自动加一个”字符串结束标志符”即(\0)以便系统据此判断字符串是否结束。
40.表达式10+’a’+1.5-0.5*’B’的结果是(double)
41.表达式10+’a’+1.5-567.345/’b’的结果是(double)型数据
42.在TURBOC中,单精度实数的数值范围约在(-3.4e-38~3.4e-38)之间。
43.下面的程序:
main()
{floatx;intI;
x=3.6;I=(int)x;
printf(“x=%f,I=%d”,x,I);}
运行结果为(3.600000,3)
44.在C语言中,表达式的类型有(),(),(),(),(),()。
45.分析下面的程序:
main()
{inta,b,c;
a=b=c=1;
a+=b;
b+=c;
c+=a;
printf(“
(1)%d\n”,a>b?
a:
b);
printf(“
(2)%d\n”,a>c?
a--:
c++);
(a>=b>=c)?
printf(“AA”):
printf(“CC”);
printf(“\na=%d,b=%d,c=%d\n”,a,b,c);}
运行结果为(2,3,CC,2,2,4)
46.用C语言描述下列命题
(1)a小于b或小于c
(2)a和b都大于c
(3)a或b中有一个小于c
(4)a是奇数
47.若x=3,y=2,z=1,求下列表达式的值:
(1)x y: x (2)x x++: y++ (3)z+=x x++: y++ 48.sizeof用于计算出各个数据类型使用多少内存空间,若有语句: I=sizeof(int);j=sizeof(char),则I=();j=() 49.若I=sizeof(float);j=sizeof(double),则I=(),j=(). 50.在C语言中,可以利用(),将一个表达式的值转换成指定的类型。 顺序结构 1.C语言中调用printf函数进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。 如果格式说明的个数小于输出项的个数,多余的输出项将();如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 (A)不予输出(B)输出空格(C)照样输出(D)输出不定值或0 2.在scanf函数的格式控制中,格式说明的类型与输入项的类型应该一一对应匹配。 如果类型不匹配,系统将()。 (A)不予接收(B)并不给出出错信息,但不可能得到正确数据 (C)能接收到正确输入(D)给出出错信息,不予接收输入 3.以下程序的输出结果是() main() {intI=011,j=11,k=0x11; printf(“%d,%d,%d\n”,I,j,k);} (A)9,11,17(B)9,11,11(C)11,11,11(D)11,11,16 4.以下程序的输出结果是() #include main() {printf(“%d\n”,NULL);} (A)不确定的值(因变量无定义)(B)0(C)-1(D)1 5.以下程序的输出结果是() main() {charc1=’6’,c2=’0’; printf(“%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);} (A)输出出错信息(B)6,0,6,102(C)6,0,7,6(D)6,0,5,7 6.有如下定义: intx=10,y=5,z;则语句printf(“%d\n”,z=(x+=y,x/y));的输出结果是() (A)1(B)0(C)4(D)3 7.以下程序的输出结果是() main() {inta=-1,b=4,k; k=(++a<=0)&&! (b--<=0); printf(“%d%d%d\n”,k,a,b);} (A)104(B)004(C)103(D)003 8.若有定义: intx,y;chara,b,c;并有以下输入数据(此处, 12 ABC 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是: (A)scanf(“x=%dy=%d”,&x,&y);a=getchar();b=getchar();c=getchar(); (B)scanf(“%dy%d”,&x,&y);a=getchar();b=getchar();c=getchar(); (C)scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c); (D)scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c); 9.若已定义inta=25,b=14,c=19;以下三项运算符(? : )所构成的语句的执行结果是() a++<=25&&b--<=2&&c++? printf(“***a=%d,b=%d,c=%d\n”,a,b,c): printf(“###a=%d,b=%d,c=%d\n”,a,b,c) (A)(***a=25,b=14,c=19)(B)(***a=26,b=13,c=19) (C)(###a=25,b=14,c=19)(D)(###a=26,b=13,c=19) 1.C语言中的语句可分为五类,即()、()、()、()、()。 2.由一次函数调用加一个分号构成一个()语句。 3.printf是C语言提供的标准输出函数,它的作用是()。 4.printf函数的”格式控制”包括两部分,它们是()和()。 5.如果想输出字符”%”,则应该在”格式控制”字符串中用()表示。 6.符号’&’是()运算符,&a是指()。 7.scanf函数的”格式控制”后面应当是(),而不是()。 8.C语言中的空语句就是()。 9.返回语句的功能是从()返回()。 10.复合语句是由一对()括起来的若干语句组成的。 11.下列程序的输出结果是() #include main() {charb[]=”ABCDEFG”; char*chp=&b[7]; while(--chp>&b[0]) putchar(*chp); putchar(‘\n’);} 12.下列程序的输出结果是() main() {intx=2,y,z; x*=3+2;printf(“%d\n”,x); x*=y=z=4;printf(“%d\n”,x); x=y=z;printf(“%d\n”,x); x=(y=z);printf(“%d\n”,x);} 13.下列程序的输出结果是() main() {printf(“%d”,1<4&&4<7): printf(“%d”,1<4&&7<4); printf(“%d”,(2<5)); printf(“%d”,! (1<3)||(2<5)); printf(“%d”,! (4<=6)&&(3<=7));} 14.下列程序的输出结果是() main() {intx,y; x=16;y=(x++)+x;printf(“%d\n”,y); x=15;printf(“%d,%d\n”,++x,x); x=20;y=x--+x;printf(“%d\n”,y); x=13;printf(“%d,%d”,x++,x);} 15.阅读程序 main() {charstr1[]="peopleandcomputer",str2[10]; char*p1=str1,*p2=str2; scanf("%s",p2); printf("%s",p2); printf("%s\n",p1);} 运行上面的程序,输入字符串PEOPLEANDCOMPUTER,则程序的输出结果是()。 51.从键盘输入一个大写字母,要求改用小写字母输出; 52.编写程序,判断某一年是否闰年; 53.编写求方程ax2+bx+c的解x的程序; 选择结构 1.下列运算符中优先级最高的是()。 (A)>(B)+(C)&&(D)! = 2.逻辑运算符运算对象的数据类型()。 (A)只能是0和1(B)只能是.T.或.F.(C)只能是整型或字符型(D)任何类型的数据 3.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。 (A)(X<=-10)||(x>=-5)&&(x<=0)||(x>=100)(B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) (C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)(D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 4.以下程序的运行结果是()。 main() {intc,x,y; x=1;y=1;c=0; c=x++||y++; printf(“\n%d%d%d\n”,x,y,c);} (A)110(B)211(C)221(D)001 5.以下程序的运行结果是()。 main() {intc,x,y; x=0;y=0;c=0; c=x++&&y++; printf(“\n%d%d%d\n”,x,y,c);} (A)100(B)110(C)011(D)001 6.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。 main() {intx; scanf(“%d”,&x); if(x++>5)printf(“%d”,x); elseprintf(“%d\n”,x--);} (A)7和5(B)6和3(C)7和4(D)6和4 7.写出下面程序的运行结果()。 main() {intx=1,y=1,z=0; if(z<0) if(y>0)x=3; elsex=5; printf(“%d\t”,x); if(z=y<0)x=3; elseif(y==0)x=5; elsex=7; printf(“%d\t”,x); printf(“%d\t”,z);} (A)170(B)370(C)550(D)151 8.写出下面程序的运行结果()。 main() {intx,y=1,z=0; if(y! =0)x=5; printf(“x=%d\t”,x);if(y==0)x=3;elsex=5; printf(“x=%d\t\n”,x); x=1; if(z<0) if(y>0)x=3;elsex=5;printf(“x=%d\t\n”,x); if(z=y<0)x=3; elseif(y==0)x=5; elsex=7; printf(“x=%d\t”,x); printf(“z=%d\t\n”,z); if(x=z=y)x=3; printf(“x=%d\t”,x); printf(“z=%d\t\n”,z);} (A)x=5x=5(B)x=5x=5(C)x=5x=5(D)x=5x=5 x=1x=1x=5x=1 x=7z=0x=5z=0x=7z=0x=7z=0 x=3z=1x=3z=0x=3z=1x=3z=0 9.若有以下函数关系 x<0时y=2x x>0时y=x x=0时y=x+1 下面程序段能正确表示以上关系的是()。 (A)y=2x;(B)y=2x;(C)if(x>=0)(D)y=x+1; if(x! =0)if(x<=0)if(x>0)y=x;if(x<=0) if(x>0)y=x;if(x==0)y=x+1;elsey=x+1;if(x<0)y=2x; elsey=x+1;elsey=x;elsey=2x;elsey=x; 10.若有以下变量定义: floatx;inta,b; 则正确的switch语句是()。 (A)switch(x)(B)switch(x)(C)switch(a+b)(D)switch(a+b) {case1.0: printf(“ok”);{case1,2: printf(“ok”);{case1: printf(“ok”);{case1: printf(“ok”); case2.0: printf(“this”);case.3: printf(“this”);case2*a: printf(“this”);case1+2: printf(“this”); }}}} 1.以下两条if语句合并成一条if语句为()。 if(a<=b)x=1; elsey=2; if(a>b)printf(“****y=%d\n”,y); elseprintf(“####x=%d\n”,x); 2.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。 #include main() {floata,b,c,_abs,_derta,_doublea,part1,part2; printf(“entera,b,c: ”); scanf(“%f%f%f”,&a,&b,&c); if() if()printf(“noanswerduetoinputerror\n”); elseprintf(“thesinglerootis%f\n”,-c/b); else {_derta=b*b–4*a*c; _doublea=2*a; part1=-b/(2*a); _abs=abs(_derta); part2=sqrt(_abs)/_doublea; if() printf(“complexroot\nrealpart=%fimagepart=%f\n”,part1,part2); else printf(“realroots\nroot1=%froot2=%f\n”,part1+part2,part1-part2);}}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 语言 单元 习题集