2022年C语言期末考试试题及详细答案.pdf
《2022年C语言期末考试试题及详细答案.pdf》由会员分享,可在线阅读,更多相关《2022年C语言期末考试试题及详细答案.pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、选 择 练 习 题 1、C语言中最简单的数据类型包括( B ) 。 A、整型,实型,逻辑型B、整型,实型,字符型 C、整型,字符型,逻辑型D、整型,实型,逻辑型,字符型 2、C语言中,运算对象必须是整型数的运算符是(A ) 。A、% B、/ C、% 和/ D、* 3、为表示关系 xyz,应使用 C语言表达式(A) 。 A、 (xy)&(yz) B、 (xy)AND (yz) C、 (xyz) D、 (xy) & (yz) 4、C语言程序的基本单位是(C ) 。 A、程序行 B、语句C 、函数 D、字符 5、C语言的程序一行写不下时,可以(D ) 。 A、用逗号换行 B、用分号换行 C、用回车符
2、换行D、在任意一空格处换行 6、下述标识符中,(C)是合法的用户标识符。 A、A&B B、void C、_student D、ab* 7、在 C语言中,字符型数据在内存中以( B )形式存放。 A、补码B、ASCII 码 C、反码 D、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B ) 。标识符由字母,数字和下精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 47 页 - - - - - - - - - - A、auto B、extern C、static D、R
3、egister 9、以下关于 switch 语句和 break 语句的描述中,只有( B )是正确的。 A、在 switch 语句中必须使用 break 语句B、在 switch 语句中,可以根据需要使用或不使用break 语句 C、break 语句只能用于 switch 语句中 D、break 语句是 switch 语句的一部分 10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B ) 。 A、地址传递 B、值传递 C、由实参传给形参,并由形参传回给实参 D、由用户指定传递方式 11、下述 C语言转义符中(D )是非法的。 A、b B、037 C、0 xf D、 12、为
4、了要计算s=10! (10 的阶乘),则以下对s 的定义正确的是(D) 。 A、int s B、unsigned s C、short s D、long s 13、判断变量ch 中的字符是否为大写字母,最简单的正确表达式是( A) 。 A、ch=A&ch =z B、A=ch=Z C、A =ch=z D、ch=A&ch =z 14、在 C语言中,能表示无符号长整型常数的是(D ) 。 A、OL B、4962710U C、912374u D 、2UL 15、能正确表示 C语言的字符常量的是(C) 。auto 自动变量精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
5、 名师归纳 - - - - - - - - - -第 2 页,共 47 页 - - - - - - - - - - A、0 x41 B、A C、0 D、0 16、C语言中逻辑表达式的值为(A ) 。A、 0 或 1 B、 非零值或零值 C、 true 或 false D、 true或false 17、C语言提供的基本数据类型关键字是(C ) 。 A、 integer B、FLOAT C、unsigned D、Double 18、若定义语句: int b =1,2,3,4,5,*P=b ;则表达式 *p+的值是(A ) 。 A、1 B、2 C、b0 的地址 D、b1 的地址 19、在下列选项中,
6、不正确的表达式是( C ) 。 A、ab B、c-, +b, a+=1 C、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、a1 B、d-cl C、a3-c2 D、c2-025、下述对 C语言字符数组的描述中 错误的是( C ) 。 A、字符数组可以存放字符串 B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值 D、不可以用关系运算符对字符组中的字符串进行比较精品资料 - - - 欢迎下载 - - - - - - - - -
7、 - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 47 页 - - - - - - - - - - 27、以下程序的输出结果是(A ) 。 main() int i=010, j=10, k=ox10; printf(%d,%d,%dn,i,j,k);A、8,10,16 B、8,10,10 C、10,10,10 D、10,10,16 28、以下程序的输出结果是(B) 。 #includestdio.h main()printf(%dn,NULL ) ; A、不确定的值(因变量无定义)B、0 C、-1 D、1 29、以下程序的输出结果是(B ) 。 main()
8、 char c1=6,c2=0 ; printf(%d ,%d ,%dn ,c1,c2,c1-c2 ) ; A、因输出格式不合法,输出出错信息B、54,48,6 C、6.0,7 D、6,0,632、下述对 C语言字符数组的描述中错误的是( C ) 。 A、字符数组可以存放字符串精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 47 页 - - - - - - - - - - B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值 D、不可以用关系运算符对字
9、符组中的字符串进行比较 33、Turbo C 中,对于以下程序(A ) 。 main() int 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;则语句: printf(%dn, z=(x%y, x/y);的输出结果是( C ) 。 A、1 B、0 C 、2 D、3精品资料 - - - 欢迎下载 - - - - - - - - - - -
10、欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 47 页 - - - - - - - - - - 35、下述程序段的输出结果是(D ) 。 main() int x=10, y=10; printf(%d, %dn, x+, +y); A、10,10 B、11,11 C、11,10 D、10,11 36 、定义如下变量和数组: int j; int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是(C ) 。 for(i=0;i3;i+ printf(%d, xi2-i); A、159 B、147 C 、357 D、369 37、若要求在 if后一对
11、圆括号中表示a 不等于 0 的关系,则不能正确表示这一关系的表达式为(C ) 。 A、a0 B、!a C、a=0 D、a 38、若 m,y,z 均为 int型变量,则执行下面语句后m值是( A ) 。 m=1;x=2;y=3;z=4; m=(m x)m:x ; m=(m y)m:y; m=(m z) m:z;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 47 页 - - - - - - - - - - A、1 B、2 C、3 D、4 39 、若有定义: int a=7;float x=2.5
12、 ,y=4.7 ,则表达式 x+a%3* (int )(x+y)%2/4的值是(A ) 。A、2.500000 B、2.750000 C、3.500000 D、0.000000 40、如下说法不正确的是( C ) 。 A、ca+b 等效于 c(a+b) B、若 a,b 均为真,则 a|b 为真 C 、表达式 c&d的值为 0 D、逻辑运算符!比逻辑运算符| 的优先级高 41、putchar ()函数可以向终端输出一个(B ) 。 A、整型变量表达式值B、字符 C、字符串 D、实型变量值 42、表达式 18/4*sqrt(4.0 )/8 值的数据类型为(C) 。A、int B、float C、d
13、ouble D、不确定 43、若已定义 a 为整型变量: a=-2L; printf(%dn,a) ;则以上语句(B ) 。 A、赋值不合法B、输出值为 -2 C 、输出为不确定值 D、输出值为 2 45、若 int类型数据占两个字节,则以下语句的输出为( D ) 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 47 页 - - - - - - - - - - int k= -1; printf(%d,%un,k,k); A、-1,-1 B、-1 ,32767 C、-1 ,32768 D 、
14、-1 ,65535 46、已知字母 a 的 ASCII 码十进制值为 97,则执行以下语句后的输出为( C ) 。yhg char a=a; a-; printf(%d,%cn,a+2-0,a+3-0); A、b,c B、a运算不合法,故有语法错C、98,c D、格式描述和输出项不匹配,输出无定值 47、下面语句中(B )是 C语言的正确赋值语句。 A、a=1,b=2 B、I+; C 、a=b=5 D、y=int(x); 48、设有以下说明语句 struct stu int a; float b; stutype;则下面的叙述不正确的是(C ) 。 A、struct是结构体类型的关键字 B、s
15、truct stu是用户定义的结构体类型C、stutype 是用户定义的结构体类型名 D、a 和 b 都是结构体成员名A中声明变量并初始化时:int a=1,b=5; 但是,只赋值时是不能这精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 47 页 - - - - - - - - - - 49、能正确表示:当x 的取值范围在 1,10 或100,110内为真,否则为假的表达式是(C ) 。 A、 (x1)& (x10)& (x100)& (x110) B、 (x1)| (x10)| (x100)
16、| (x110)C、 (x1)& (x10)| (x100)& (x110) D、 (x1)| (x10)& (x100)& (x110) 50、设 n 为整型变量,则循环语句for(n=10;n 0;n-)的循环次数为( A) 。 A、10 B、9 C 、11 D、12 51、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是(D ) 。 A、 fopen() B、 fseek() C、fclose() D、rewind() 52、下列哪个数组定义是正确的(D ) 。 A、int a5.5; B、INT a10; C、int an; D、int a3+2; 53、一
17、个变量的指针就是( A ) 。 A 、变量的地址 B、变量的值 C、变量的名称 D、变量的类型55、下列正确的说法是( C ) 。 A、宏替换是在程序运行时进行的 B、函数调用是在程序编译时进行的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 47 页 - - - - - - - - - - D、函数调用时,如果实参是表达式,应先求表达式的值,再替换 56、对于数学式x/2a,下面正确的 C语言表达式是(D ) 。 A、 sqr(x)/2
18、a B、 sqr(x)/2*a C、 sqrt(x)/(2*a) D 、sqrt(x)/2*a 57、若 int类型数据占 2 字节,则以下语句的输出为( D ) 。 int k=32768; printf(%d,%un,k,k);A、 -1 ,65535 B、 -1 ,32767 C、 -1 ,-1,D、 -32768,32768 59、下面程序中(B )有错误。 1)#include stdio.h 2)main ( ) 3) 4)int a3=0,0,0; 5)int i; 6)for(i=0;i3;i+ scanf(%D,&ai); 7)for(i=1;i3;i+ a0=a0+ai;
19、8)printf(%dn,a0; A、第 4 行 B、第 6 行 C、第 7 行 D、第 8行 60、下面程序的运行结果(C ) 。 main( )精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 47 页 - - - - - - - - - - unsigned a=3,b=10;5 printf(%dna2|b 1; A、3 B、10 C 、13 D、14 61、已定义 x 为 float型变量。 x=213.82631; Printf(%-4.2fn,x);则以上程序( A ) 。 A
20、、输出格式描述符的域宽不够,不能输出 B、输出为 213.83 C、输出为 213.82 D、输出为 -213.82 62、设已定义整型变量K,则下面的程序输出为(D ) 。 k=017;s=111; printf(%d,+k) ; printf(%xn,s+) ; A、15 6f B、16 70 C、15 71 D、16 6f 63、不能正确表示 a*b/c*d的 C语言表达式是(C ) 。 A、 a*b/c*d B、 a/(c*d)*b C、 a*b/c/d D、 a*b/(c*d)64、下列(C )表达式不满足;当x 的值为偶数时值为“真” ,为奇数时值为“假”。 A、 x%2= =0
21、B、 !x%2!=0 C、 x/2*2-x= =0D、!(x%2) 65、设已定义 k 为 int型变量,则下面while 循环执行(C )次。%m.nd 表示最大场宽 m ,小数位为 n 位,整数位则为 m-n-1 位,够 m位右对齐。%-m.nf精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 47 页 - - - - - - - - - - k=10; while(k=0)k=-1; A、执行 10 次B、无限循环 C、一次也不执行 D、执行一次 67、用高级语言编写的程序称之为( A)
22、 。A、源程序 B、目标程序 C、汇编程序 D、命令程序69、有以下程序的输出结果为( B ) 。 main( ) char a=0 x95,b,c; b=(a&0 xf)4; c=(a&0 xf0)4; a=b|c; printf(%xn,a); A、24 B、59 C、34 D、56 70、下述程序段的输出结果是( A) 。 int a=3;b=4; int c=ab3; printf(%d,c) A、3 B、4 C、5 D、673、设 int型变量在内存中占用两个字节存储单元,定义如下结构体:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳
23、- - - - - - - - - -第 12 页,共 47 页 - - - - - - - - - - struct student char name10; char sex; int age; struct int year; int month; int day; birth; stul;则表达式 sizeof(stul)的值是() 。 A、5 B、8 C、2 D、26 75、下述程序段的运行结果是( B ) 。 #include main( ) int m=7,n=4; float a=38.4,b=0.4,x; x=m/2+n*a/b+1/2; printf(%fn,x); A、2
24、2 B、387.000000 C、27 D、26精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 47 页 - - - - - - - - - - 76 、下面程序的运行结果是(C ) 。 main( ) int cl=2,c2=0; while(!c2- -) printf(%d%d,cl- -,c2); A、陷入死循环 B、不输出任何内容 C 、输出 2 -1 D、输出 20 77、下面程序的运行结果是( B) 。 int m=4,n=6; max(int x,int y) int max
25、; max=xyx:y; return(max); main( ) int m=10; printf(%dn,max(m,n); A、4 B、10 C、6 D、5 78、下面程序的运行结果是(B ) 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 47 页 - - - - - - - - - - fun(int p) int k=1; static t=2; k=k+1; t=t+1; return(p*k*t); main( ) int x=4; fun(x); printf(%dn,f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 期末考试 试题 详细 答案
限制150内