2022年程序设计C语言试卷 .pdf

上传人:Q****o 文档编号:30525811 上传时间:2022-08-06 格式:PDF 页数:11 大小:127.45KB
返回 下载 相关 举报
2022年程序设计C语言试卷 .pdf_第1页
第1页 / 共11页
2022年程序设计C语言试卷 .pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年程序设计C语言试卷 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计C语言试卷 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 1 页 共 11页计算机程序设计(C 语言 ) 课程试 卷考试日期:年月日考试类别:考试考试时间: 120 分钟题号一二三四五,总分得分一、选择题 : (每题 1 分,共 70 分)1 以下选项中 不合法 的标识符是() 。A. s1 B. FOR C. &a D. _00 2C语言提供的合法的数据类型关键字是()A. short B. integer C. Char D. Double 3表达式: 10!=9 的值是()A. true B. 非零值 C. 0 D. 1 4C语言中,要求运算数必须是整型的运算符是()A. % B. / C. D. ! 5已知 int x=1, y=2; 表

2、达式 x/y 的值为()A. 0.5 B. 0 C. 1 D. 不确定6若已定义x 和 y 为 double 型,则表达式:x=1,y=x+3/2 的值是()A. 1 B. 2 C. 2.0 D. 2.5 7若已有定义语句:int a=5; 则表达式: a+ 的值是()A. 7 B. 6 C. 5 D. 4 8已知 a=12,b=12,则表达式 -a和 +b 的值分别是()A. 11,13 B. 12,12 C. 11,10 D. 10,10 9表达式: (a=2)&(b=-2)的值是()A. 无 B. 不确定 C. 0 D. 1 10若定义 int x=1,y=1;表达式 (!x|y-)的值

3、是()A. 0 B. 1 C. 2 D. -1 11若变量 a 和 i 已正确定义,且i 已正确赋值,则以下合法的语句 是()A. a=1 B. i=i+1; C. a=a+=5; D. a=int (i); 12若已有定义int x=2,y=5; 则表达式: x%y的值是()A. 2 B. 5 C. 0 D. 0.4 13若定义 int a=1,b=2,c=3,d=4; 则表达式: ab?a:cd?a:d的值是()得分阅卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共

4、 11 页 - - - - - - - - - 第 2 页 共 11页A. 4 B. 3 C. 2 D. 1 14设 x,y,z和 k 都是 int型变量,则执行语句:x=(y=4,z=16,k=32);该语句执行完后,x 的值是()A. 4 B. 16 C. 32 D. 52 15若定义 float x=3.5; int y;则执行 y=(int)x;该语句执行完后,y 的值是()A. 3.5 B. 3 C. 不确定 D. 编译错误16以下 while 循环中, 循环体 执行的次数是()int k=1; while(-k) k=10; A. 一次也不执行 B. 执行一次 C. 执行 10 次

5、 D. 无限次17已有语句while(!x); 其中 !x 等价于()A. x=0 B. x!=1 C. x!=0 D. x=1 18C 语言的 if 语句嵌套时,if 与 else 的配对关系是()A每个 else总是与它上面的最近的未配过对的if 配对B每个 else总是与最外层的if 配对C每个 else与 if 的配对是任意的D每个 else总是与它上面的if 配对19有以下程序,执行后输出结果是()#include main( ) int a=6; if (a=8)printf(“=”);else printf(“!= ”); A= B= = C!= D a=8 20C语言中 whi

6、le和 do-while循环的主要区别是( ) Ado-while 循环至少无条件执行循环体一次,while 循环则有可能一次都不执行循环体Bwhile 循环控制条件比do-while 循环的控制条件严格Cdo-while 循环允许从外部转入到循环体内部名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 第 3 页 共 11页Dwhile 循环的循环体不能是复合语句21已有定义: int a=1,b=2; 则表达式: !(ab)

7、的值是()A不确定B0 C1 D2 22以下叙述中 错误 的是() 。A用户定义的函数中可以没有return 语句B用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值C用户定义的函数中若没有return 语句,则应当定义函数为void 类型D函数的return 语句中可以没有表达式23凡是函数中未指定存储类别的局部变量 ,其隐含的 存储类别 是()。A自动 (auto) B静态 (static) C外部 (extern) D 寄存器 (register) 24C 语言中, 函数 的隐含 存储类别 是() 。A自动 (auto) B静态 (static) C外部 (ex

8、tern) D 寄存器 (register) 25 除 main 函数之外, 程序中各函数之间的调用关系,以下描述正确的是 () :A既允许直接递归调用,又允许间接递归调用B既 不 允许直接递归调用,又不允许间接递归调用C允许直接递归调用,不允许间接递归调用D不 允许直接递归调用,允许间接递归调用26定义如下函数:fun (float x) printf( “%dn” ,x*x ) ; 则该函数的返回类型是()A. 与参数 x 类型相同 B. void类型 C. int类型 D. 不确定27有如下函数的调用语句:fun (a+b,(x,y),fun(n+k,d,(a,b)); 则该函数中实参个

9、数是()A. 6 B. 5 C. 4 D. 3 28若用数组名作为函数调用时的实参,则实际上传递给形参的是()A. 数组首地址 B. 数组第一个元素值C. 数组中全部元素的值 D. 数组元素的个数29下列 不正确 的转义字符是()A. B. n C. 074 D. 0 30以下对一维整形数组a 的正确说明是()A. int a(10); B. int n=10,an; C. int n; D. #define SIZE 10 scanf( “%d ”,&n); int aSIZE; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

10、 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 第 4 页 共 11页int an; 31调用 strlen( “abcd0ef0g” )的返回值是()A. 4 B. 5 C. 8 D. 9 32以下程序的输出结果是()#include int fib(int n) if ( n2 ) return( fib(n-1)+fib(n-2) ); else return (2); main() printf(“%d ”,fib(3); A. 2 B. 4 C. 6 D. 8 33已知: int a10 ;则对 a数组元素的正确引用是()A.

11、 a10 B. a0 C. a(5) D. a3.5 34已定义: char str = ”;则执行语句:printf (“ %d” ,strlen(str) ) ;执行结果是()A. 5 B. 6 C. 7 D. 8 35以下对二维数组a 的正确定义语句是()A. int a3; B. float a(3,4);C. double a34; D. float a(3)(4);36已知: int a34 ;则对 a 数组元素的 非法 引用是()A. a02 B. a13 C. a00 D. a04 37以下可以对二维数组a 正确初始化的语句是()A. int a14=1,2,3,4,5;B.

12、float a10= 1,2,2,3,3,1 ;C. long a23= 1,1,2,1,2,3,0,0 D. int a3=8;38C 语言中,二维数组元素在内存中的存放顺序是()A. 按列存放 B. 按行存放 C. 由用户自己定义 D. 由编译器决定39若 int u=1, v=2, w=3; 则语句 w= =(v=-u) ;执行后 w 的值 是 ( ) A3 B2 C1 D40以下描述正确的是()A. 两个字符串所包含的字符个数相同时,才能比较字符串B. 字符个数多的字符串比字符个数少的字符串大名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -

13、- - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 第 5 页 共 11页C. 字符串“ STOP ”与“ stop ”相等D. 字符串“ That”小于字符串“The”41已知函数fun 的定义格式为:void fun() 则函数定义中void 的含义是()A执行 fun 函数后,函数没有返回值B执行 fun 函数后,函数不再返回C执行 fun 函数后,可以返回任何类型D以上答案都是错误的42已知 int a3=0 ,1,2, 3,4,5,6 ;则数组的第一维的大小是( ) A2 B 3 C 4 D无确定值43有以下程序

14、段,运行结果是( ) int m33= 1, 2, 3 ;int n33=1, 2 , 3 ;main( ) printf(” %dn” ,m10+n00); A0 B1 C 2 D3 44判断字符串s1 是否大于字符串s2,应当使用( ) A if (s1s2)Bif ( strcmp(s1,s2) )Cif ( strcmp(s1,s2)0 ) D if ( strcmp ( s2,s1 ) 0 )45执行以下程序后,a,b 的值分别为() 。main( ) int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m; b=(*p1)/(*p2)+7; printf(“ a

15、=%d, b=%d” ,a,b); A a=-1, b=5 B a=1, b=6 Ca=0, b=7 Da=0, b=10 46以下程序运行后的输出结果是() 。main( ) int a=1,2,3,4,5,6,7,8,9,10 ; int *p =&a3, *q=p+2; printf(“ %dn, ” ,*p+*q); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 第 6 页 共 11页A16 B10 C8 D6 47

16、以下程序运行后的输出结果是() 。main( ) char *p= “ abc ” , ” aabdf” , ” ddf ” , ” abbd ” , ” cd ” ; printf(“ %dn” ,strlen(p4); A 2 B3 C4 D5 48设有数组定义:char array =China ; 则数组array 所占的空间为()A4 个字节B 5个字节C6 个字节D7 个字节49 设 a为整型变量, 初值为 12,则语句 a+=a-=a*a;执行完后 a 的值是()A552 B 144 C264 D-264 50已知: char s10,若要从终端给s 输入 5个字符, 错误 的语

17、句是()Agets(&s0); B scanf (“%s”,s+1);Cscanf(“ %s” , s1); D gets(s); 51下列程序的输出结果是()main char a =” 123 ” ,*p; p=a; printf( ” %cn” , *p ) ; A1 B2 C3 D不确定52阅读以下程序段,若grade 的值为 C,则输出结果时()switch(grade) case ,A?: printf(“ 90100” ); case ,B ?: printf(“ 8090” ); case ,C?: printf(“ 7080” ); case ,D ?: printf(“ 6

18、070” ); default: printf(“ Fail!” ); A7080B70806070C70806070 Fail!DFail!53已知 : int a=4,b=3; 则执行 a&b 的值是()A0 B1 C2 D3 54以下程序的输出结果是()int fun(int a,int b) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - 第 7 页 共 11页 if ( a=b)return a; else retu

19、rn b; main( ) printf(%dn,fun(4,2); A0 B2 C4 D 6 55以下程序的输出结果是()int func(int a,int b) return(a+b); main() int x=3,y=5,z=8,r;r=func(func(x,y),z); printf(%dn,r); A14 B15 C16 D17 56已知:struct float i; char name20; test; 则 sizeof(test)的值是() 。A4 B5 C20D24 57以下选项中属于C语言的数据类型是( ) A复数型B逻辑型C双精度型D集合型58. 已知: int y

20、=3,x=3,z=1; 则表达式 +x, y+和表达式 z+2的值分别是 ( ) A3 4 B 4 2 C 4 3 D3 3 59以下程序的输出结果是()main() int a=12,22,33,44,25,16,*p;p=a; printf(%d,%dn,*p,*(p+4); A12,22 B12,25 C12,44 D12,16 60已知: int i=2,j=0; 则表达式 i&j 的值是 ( ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - -

21、- - - - - - - 第 8 页 共 11页 A0 B1 C2 D不确定61以下能将逻辑关系式“a 10 或 a0” 正确表达出来的是() 。Aa=10 or a=10 , a=10 & a=10 | a=0 62若 a=1,b=2 则 a|b的值是()A0 B 1 C2 D 3 63以下程序输出结果是()main( ) int n=1; while(n+10) if(n%3=0) break; printf(“%d,”n); A1,2,3,4,5,6,7,8,9, B3,6,9, C 2, D2,4,5,7,8,10, 64 若需要以读 /写方式打开一个已经存在的文本文件” ABC ”

22、 , 正确的语句是 ()Afp=fopen( “ ABC ” ,” r” ); Bfp=fopen( “ ABC ” ,r+); Cfp=fopen( “ ABC ” ,rb); Dfp=fopen( “ ABC ” ,rb+); 65下面程序的输出是( ) #define SUB(X,Y) ( X )*Y main( ) int a=3,b=4; printf(%dn,SUB(a+ ,b+) ; A12 B 15 C16 D20 66以下叙述 不正确 是()A在不同的函数中可以使用相同的名字的变量B函数中的形式参数是局部变量C在一个函数内定义的变量只在本函数范围内有效D在一个函数内的复合语句

23、中定义的变量在本函数范围内有效67已知: int a=1,b=2,c=3 ;则表达式abc 的值是() 。A0 B1 C2 D3 68定义字符型变量c,若要将字符a 赋给 c,则下列赋值正确的是()Ac=a; Bc=a; Cc=97; Dc=97 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - 第 9 页 共 11页69C 语言中的标识符只能由字母,数字和下划线三种字符组成,对第一个字符的要求是()A必须为字母B必须为下划线C

24、必须为字母或下划线D可以是字母,数字和下划线中任一字符70在位运算中,操作数每右移一位,其结果相当于()。A操作数乘以2 B操作数除以2 C操作数乘以16 D操作数除以16 二、阅读下列程序, 写出运行结果 : (每空 2 分,共 10 分)1main( ) int a=4,b=7; printf(%d,a*b); 结果是:2main( ) int a=4,b=3,c=5; if(c=a+b) printf(yes); else printf(no); 结果是:3#include main( ) int k=1; printf(%d,+k); 结果是:4#include main( ) int

25、 a=9,b=5,c; c=a&b; 得分阅卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - 第 10 页 共 11 页printf(%d,%d,%d,a,b,c); 结果是:5#include int d=1; int fun(int p) static int d=5; d+=p; printf( “ %d ” ,d); return d; main() int a=3; printf(%dn” ,fun(a+fun(d

26、); 结果是:三、程序填空 : (每空 4 分,共 12 分)1. 求出 1000 以内能被13 整除的最大数。#include main( ) int i; for(i=1000;i=1; ) if (i%13=0) break; printf(“ %dn ” ,i); 2. 下面程序输出3-100 间的所有素数。#include main( ) int i,j; for(i=3; ;i+) 得分阅卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - -

27、- - - - - - - 第 11 页 共 11 页 for(j=2;j=i-1;j+) if ( ) break; if(i=j) printf(“ %4d” ,i); 3. 用冒泡法对10 个数排序 ( 由小到大 ) 。#include main( ) int i,j,t,a10 =3,4,2,9, 8, 5, 7, 6,1,6; for(j=0;j9;j+) for(i=0;ia i+1 ) t=ai; ; ; printf(Sorted numbers :n); for(i=0;i10;i+) printf(%d ,a i); printf(n ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁