C程序设计期末考试习题库(删节版).pdf





《C程序设计期末考试习题库(删节版).pdf》由会员分享,可在线阅读,更多相关《C程序设计期末考试习题库(删节版).pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.选 择 练 习 题1、C 语言中最简单的数据类型包括 B。A、整型,实型,逻辑型B、整型,实型,字符型D、整型,实型,逻辑型,字符型D、*C、整型,字符型,逻辑型A、%B、/2、C 语言中,运算对象必须是整型数的运算符是A。C、%和/3、为表示关系 xyz,应使用 C 语言表达式 A 。A、xy)&yz)B、xy)ANDyz)C、xyz)D、xy)&yz)4、C 语言程序的根本单位是 C。A、程序行B、语句C、函数D、字符5、C 语言的程序一行写不下时,可以D。A、用逗号换行B、用分号换行C、用回车符换行D、在任意一空格处换行6、下述标识符中,C是合法的用户标识符。A、A&BB、voidC、
2、_studentD、ab*标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线7、在 C 语言中,字符型数据在存中以B形式存放。A、补码B、ASCII 码C、反码D、原码8、一个程序由假设干文件组成,共用同一变量,那么此变量的存储类别应该为 B。A、autoB、extern C、staticD、Registerauto 自动变量9、以下关于 switch 语句和 break 语句的描述中,只有B 是正确的。register 存放器变量A、在 switch 语句中必须使用 break 语句extern 外部变量static 静态变量B、在 switch 语句中,可以根据需要使用或不使用b
3、reak 语句C、break 语句只能用于 switch 语句中D、break 语句是 switch 语句的一局部10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是B。A、地址传递B、值传递C、由实参传给形参,并由形参传回给实参D、由用户指定传递方式11、下述 C 语言转义符中 D是非法的。A、bB、037C、0 xf D、12、为了要计算 s=10!10 的阶乘,那么以下对 s 的定义正确的选项是.v.D。.A、int sB、unsigned sC、short sD、long s13、判断变量 ch 中的字符是否为大写字母,最简单的正确表达式是 A。A、ch=A&ch=z
4、B、A=ch=ZC、A=ch=zD、ch=A&ch=z14、在 C 语言中,能表示无符号长整型常数的是D。A、OLB、4962710UC、912374uD、2UL15、能正确表示 C 语言的字符常量的是 C。A、0 x41B、A C、0 D、016、C 语言中逻辑表达式的值为 A。A、0 或 1B、非零值或零值C、true 或 falseD、true或false17、C 语言提供的根本数据类型关键字是 C。A、integerB、FLOATC、unsignedD、Double18、假设定义语句:int b=1,2,3,4,5,*P=b;那么表达式*p+的值是A、1B、2C、b0的地址 D、b1的
5、地址19、在以下选项中,不正确的表达式是 C。A、abB、c-,+b,a+=1C、a=c+bn-m=k D、p+20、假设有以下定义:int a=1,2,3,4,5,6,7;char cl=b,c2=2;那么数值不为 2 的表达式是 D。A、a1B、d-clC、a3-c2D、c2-025、下述对 C 语言字符数组的描述中错误的选项是 C。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句过赋值运算符=对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进展比拟27、以下程序的输出结果是 A。mainint i=010,j=10,k=ox10;printf
6、(%d,%d,%dn,i,j,k);.v.A。.A、8,10,16B、8,10,10C、10,10,10D、10,10,1628、以下程序的输出结果是 B。*includestdio.hmainprintf%dn,NULL;A、不确定的值因变量无定义B、0C、-1D、129、以下程序的输出结果是 B。mainchar c1=6,c2=0;printf%d,%d,%dn,c1,c2,c1-c2;A、因输出格式不合法,输出出错信息B、54,48,6C、6.0,7D、6,0,632、下述对 C 语言字符数组的描述中错误的选项是 C。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C
7、、可以在赋值语句过赋值运算符=对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进展比拟33、Turbo C 中,对于以下程序 A。mainint x,y;y=creat(&x);printf(%d n,y);creat(int a)return a+;A、编译时会给出错信息B、顺利进展编译、连接、执行;不报任何错误C、顺利通过编译、连接、但不能执行D、顺利通过编译,但连接出错34、设有如下定义:int x=10,y=4,z;.v.那么语句:printf(%dn,z=(x%y,x/y);的输出结果是 C。A、1B、0C、2D、335、下述程序段的输出结果是 D。mainint x=10
8、,y=10;printf(%d,%dn,x+,+y);A、10,10B、11,11C、11,10D、10,1136、定义如下变量和数组:int j;int x33=1,2,3,4,5,6,7,8,9;那么下面语句的输出结果是 C。for(i=0;i3;i+printf(%d,xi2-i);A、159B、147C、357D、36937、假设要求在 if 后一对圆括号中表示a 不等于 0 的关系,那么不能正确表示这一关系的表达式为C 。A、a0B、!aC、a=0D、a38、假设 m,y,z 均为 int 型变量,那么执行下面语句后m 值是A 。m=1;x=2;y=3;z=4;m=mx)m:x;m=
9、my)m:y;m=mz)m:z;A、1B、2C、3D、439、假设有定义:int a=7;float x=2.5,y=4.7,那么表达式 x+a%3*int x+y%2/4的值是 A。A、2.500000 B、2.750000C、3.500000D、0.00000040、如下说法不正确的选项是 C。A、ca+b 等效于 ca+b.v.B、假设 a,b 均为真,那么 a|b 为真C、表达式c&d的值为 0D、逻辑运算符!比逻辑运算符|的优先级高41、putchar函数可以向终端输出一个 B。A、整型变量表达式值B、字符C、字符串D、实型变量值42、表达式 18/4*sqrt4.0/8 值的数据类
10、型为 C。A、intB、floatC、doubleD、不确定43、假设已定义 a 为整型变量:a=-2L;printf%dn,a;那么以上语句 B。A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为 245、假设 int 类型数据占两个字节,那么以下语句的输出为 D。intk=-1;printf%d,%un,k,k;A、-1,-1B、-1,32767C、-1,32768D、-1,6553546、字母 a 的 ASCII 码十进制值为 97,那么执行以下语句后的输出为 C。yhgchar a=a;a-;printf%d,%cn,a+2-0,a+3-0;A、b,cB、a运算不合法,故有语
11、法错C、98,cD、格式描述和输出项不匹配,输出无定值47、下面语句中 B是 C 语言的正确赋值语句。A、a=1,b=2B、I+;C、a=b=5D、y=int(x);48、设有以下说明语句structstuint a;float b;stutype;那么下面的表达不正确的选项是 C。.v.A 中声明变量并初始化时:int a=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不是完整的语句,D 中 x 没有定义,如果是int x=3;int y;y=int(x);这样是对的.A、struct 是构造体类型的关键字B、struct stu 是用户定义的构造体类型C、st
12、utype 是用户定义的构造体类型名D、a 和 b 都是构造体成员名49、能正确表示:当x的取值围在1,10或100,110为真,否那么为假的表达式是 C。A、x1&x10&x100&x110B、x1|x10|x100|x110C、x1&x10|x100&x110D、x1|x10&x100&x11050、设 n 为整型变量,那么循环语句for(n=10;n0;n-)的循环次数为 A。A、10B、9C、11D、1251、在对文件进展操作时,假设要求文件的位置指针回到文件的开头,那么应当调用的库函数是D。A、fopen()B、fseek()C、fclose()D、rewind()52、以下哪个数组
13、定义是正确的 D。A、int a5.5;B、INT a10;C、int an;D、int a3+2;53、一个变量的指针就是 A。A、变量的地址B、变量的值 C、变量的名称D、变量的类型55、以下正确的说法是C。A、宏替换是在程序运行时进展的B、函数调用是在程序编译时进展的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换D、函数调用时,如果实参是表达式,应先求表达式的值,再替换56、对于数学式x/2a,下面正确的 C 语言表达式是 D。A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a57、假设 int 类型数据占 2 字节,那么以下
14、语句的输出为 D。int k=32768;printf(%d,%un,k,k);A、-1,65535B、-1,32767C、-1,-1,D、-32768,3276859、下面程序中 B 有错误。1*includestdio.h2main()3.v.4int a3=0,0,0;5int i;6for(i=0;i3;i+scanf(%D,&ai);7for(i=1;i3;i+a0=a0+ai;8printf(%dn,a0;A、第 4 行B、第 6 行C、第 7 行D、第 8 行60、下面程序的运行结果 C。main()unsigned a=3,b=10;5printf(%dna2|b1;A、3B、
15、10C、13D、1461、已定义 x 为 float 型变量。x=213.82631;Printf(%-4.2fn,x);那么以上程序 A。%m.nd表示最大场宽m,小数位为n位,整数位那么为m-n-1位,够 m 位右对齐。%-m.nf 可以控制输出左对齐A、输出格式描述符的域宽不够,不能输出B、输出为 213.83C、输出为 213.82D、输出为-213.8262、设已定义整型变量 K,那么下面的程序输出为 D。k=017;s=111;printf%d,+k;printf%xn,s+;A、156fB、1670C、1571D、166f63、不能正确表示 a*b/c*d 的 C 语言表达式是
16、C 。A、a*b/c*dB、a/(c*d)*bC、a*b/c/d D、a*b/(c*d)64、以下C表达式不满足;当 x 的值为偶数时值为真,为奇数时值为假。A、x%2=0B、!x%2!=0C、x/2*2-x=0D、!(x%2)65、设已定义 k 为 int 型变量,那么下面 while 循环执行C次。k=10;while(k=0)k=-1;A、执行 10 次B、无限循环C、一次也不执行D、执行一次.v.67、用高级语言编写的程序称之为 A。A、源程序B、目标程序C、汇编程序D、命令程序69、有以下程序的输出结果为 B。main()char a=0 x95,b,c;b=(a&0 xf)4;c=
17、(a&0 xf0)4;a=b|c;printf(%xn,a);A、24B、59C、34D、5670、下述程序段的输出结果是 A。int a=3;b=4;int c=ab3;printf(%d,c)A、3B、4C、5D、673、设 int 型变量在存中占用两个字节存储单元,定义如下构造体:structstudentcharname10;charsex;intage;structintyear;intmonth;intday;birth;stul;那么表达式 sizeof(stul)的值是。A、5B、8C、2D、2675、下述程序段的运行结果是B。*include.v.main()intm=7,n
18、=4;floata=38.4,b=0.4,x;x=m/2+n*a/b+1/2;printf(%fn,x);A、22B、387.000000C、2776、下面程序的运行结果是 C。main()int cl=2,c2=0;while(!c2-)printf(%d%d,cl-,c2);A、陷入死循环B、不输出任何容C、输出 2-1 D、输出 2077、下面程序的运行结果是B。int m=4,n=6;max(int x,int y)int max;max=xyx:y;return(max);main()int m=10;printf(%dn,max(m,n);A、4B、10C、6D、578、下面程序的
19、运行结果是 B。fun(int p)int k=1;static t=2;.vD、26.k=k+1;t=t+1;return(p*k*t);main()int x=4;fun(x);printf(%dn,fun(x);A、4B、32C、30D、1679、阅读下面的程序:main()char ch;scanf(%c,&ch);if(ch=a&ch=z)ch=ch-32;printf(%c,ch);假设输入字符为:e,那么程序运行结果为A。A、EB、AC、eD、z80、下面程序的运行结果是 B。main()static int a33=3,2,1,(4,5,6),-2,9,1;int i,j,su
20、m=0;for(i=0;i3;i+)for(j=0;j3;j+)if(i=j)sum=sum+aiJj;printf(sum=%d,sum);.v.A、sum=10B、sum=9C、9D、1084、下述程序的运行结果是 A。*includevoid fun(int x)putchar(0+(x%10);fun(x/10);main()printf(n);fun(1234);A、4321 B、321C、21D、186、设已定义 i 和 k 为 int 类型变量,那么以下 for 循环语句 B。for(i=0,k=-1;i+,k+)printf(*n);A、判断循环完毕的条件不合法B、是无限循环C
21、、循环一次也不执行D、循环只执行一次87、以下程序段选择项中,使i 的运行结果为 4 的程序段是 D。A、int i=0,j=0;B、int i=1,j=70;(i=3,(j+)+i);j=i=(i=3)*2);C、inti=0,j=1;D、inti=1,j=1;(j=1)(i=1):(i=3);i+=j+=2;89、阅读以下程序最左边是附加的行号。1*include2main()3float s5;4int i,k=0;5for(i=0;i5;i+)6scanf(%d,s+i);.v.7for(i=0;i5;i+)8 k=si;9printf(n%f,(float)k);10此段程序 A。A
22、、没有错误B、第 4 行错误C、第 6 行错误D、第 9 行错误90、以下程序中有三个是完全一样的功能,只有 B 所完成的功能与其他程序不同。A、s=0;B、s=0;i=0;i=1;while(i=100)while(i+100)s+=i+;s+=i;C、s=0;D、s=0;i=0;i=0;while(i=100)while(+i=100)s+=+i;s+=i;92、执行下面的程序后,a 的值为D。main()int a,b;for(a=1,b=1;a=20)break;if(b%3=1)b+3;continue;b-=5;A、7B、8C、D、1093、下面的程序中 C有错误。1*includ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 期末考试 习题 删节

限制150内