ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:20.37KB ,
资源ID:10661531      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10661531.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言试题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言试题.docx

1、C语言试题一、选择题(1-10每题1分,11-30每题1.5分,共40分)1. 下列选项中,可以作为用户标识符的是A) void B) 8_8 C) _a_0 D) a*b2. 若有定义:float a=22;int i=0,k=18; 则不符合C语言规定的赋值语句是A)k=i+; B)i =(i*k)=(i-k); C)i=a%11; D)k!a;3. 若执行了语句:float x=1008; int a=15; 则表达式(int)(x+y)%7/17的值为A) 23 B) 1 C) 0 D) 无法确定4. 若有定义语句:int a=1;double b=3.14;,则表达式X+a+b的结果

2、的类型是 A)char B)int C)double D)float5. 如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为 A)1.9 B)1 C)2 D)2.46. 以下是if语句的一种形式:if(表达式) 语句 其中关于“表达式”的说明正确的是:A) 必须是逻辑表达式 B) 必须是关系表达式C) 必须是逻辑表达式或关系表达式 D) 可以是任意合法的表达式7. 若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给 变量a,5赋给变量b的输入数据是A)3 5 B)3,5 C)3;5 D)358. 若有定义语句:

3、int k1=10,k2=20;,执行表达式 (k1=k1k2)&(k2=k2k1)后,k1和k2的值分别为 A)0和1 B)0和20 C)10和1 D)10和209. 下列语句中正确的是:A) char str10; str = “Hello”; B) char *str; str = “Hello”;C) char str10; str = “Hello”; D) char *str; str = “Hello”; 10. 设有定义 int a10, *p=a; 以下能够代表数组元素a4的是:A) a+4 B) *(p+4) C) *a+4 D) *p + 411. 有以下程序#inclu

4、de int main()int a=1,b=0;if(-a) b+;else if(a=0) b+=2;elseb+=3;printf(“%dn”,b);return 0;程序运行后的输出结果是 A)0 B)1 C)2 D)312. 下列条件语句中输出结果与其他语句不同的是A)if(a) printf(“%dn”,x); else printf(“%dn”,y); B)if(a=0) printf(“%dn”,y); else printf(“%dn”,x); C)if(a!=0) printf(“%dn”,x); else printf(“%dn”,y); D)if(a=0) printf

5、(“%dn”,x); else printf(“%dn”,y); 13. 有以下程序:#include void main() int a=7; while(a-);printf(“%dn”,a);程序运行后的输出结果是 A) -1 B)0 C)1 D)714. 以下不能输出字符A的语句是 (注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf(“%cn”,a-32); B)printf(“%dn”,A); C)printf(“%cn”,65); D)printf(“%cn”,B-1);15. 有以下程序(注:字符a的ASCII码值为97)#include void

6、 main() char *s=“abc”; doprintf(“%d”,*s%10);+s;while(*s);程序运行后的输出结果是 A)abc B)789 C)7890 D)97989816. 若有定义语句:double a,*p=&a;以下叙述中错误的是 A)定义语句中的*号是一个地址运算符 B)定义语句中的*号是一个说明符 C)定义语句中的p只能存放double类型变量的地址 D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p17. 有以下程序:#include double f(double x);void main() double a=0; int i;for(i=

7、0; i30; i+=10) a+=f(double)i);printf(“%5.0fn”,a);double f(double x)return x*x+1;程序运行后的输出结果是 A)503 B)401 C)500 D)140418. 若定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是 A)*p+=1; B)(*p)+; C)+(*p); D)*p+;19. 以下定义数组的语句中错误的是 A)int num=1,2,3,4,5,6;B)int num3=1,2,3,4,5,6;C)int num24=1,2,3,4,5,6;D)in

8、t num4=1,2,3,4,5,6;20. 有以下程序#include void fun(int *p)printf(“%dn”,p5);main()int a10=1,2,3,4,5,6,7,8,9,10; fun(&a3);程序运行后的输出结果是 A)5 B)6 C)8 D)921. 有以下函数int fun(char *x,char *y)int n=0; while(*x=*y)&*x!=0)x+;y+;n+; return n;函数的功能是 A)查找x和y所指字符串中是否有0 B)统计x和y所指字符串中最前面连续相同的字符个数 C)将y所指字符串赋给x所指存储空间 D)统计x和y所

9、指字符串中相同的字符个数22. 数学上的式子 1x10怎么用C语言的表达式来表示:A) 1x10 B) 1x1 & x=10 D) 以上都不对23. 若有定义语句:char *s1=”OK”;*s2=”ok”;,以下选项中,能够输出“OK”的语句是 A)if(strcmp(s1,s2)=0) puts(s1); B)if(strcmp(s1,s2)!=0) puts(s2);C)if(strcmp(s1,s2)=1) puts(s1);D)if(strcmp(s1,s2)!=0) puts(s1);24. 以下程序的主函数中调用了在其前面定义的fun函数#includevoid main()d

10、ouble a15,k;k=fun(a);则以下选项中错误的fun函数首部是 A)double fun(double a15)B)double fun(double *a)C)double fun(double a)D)double fun(double a)25. 有以下程序:#includeint f(int m) static int n=0; n+=m; return n;void main() int n=0; printf(“%d,”,f(+n);printf(“%dn”,f(n+);程序运行后的输出结果是 A)1,2 B)1,1 C) 2,3 D) 3,326. 若有定义语句:i

11、nt a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);27. 有以下程序#include void main() int s;scanf(%d,&s);while(s0) switch(s) case1:printf(%d,s+5);case2:printf(%d,s+4); break;case3:printf(%d,s+3);default:printf(%d,s+1);break; scanf(%d,&s); 运行时,若输入1 2 3 4 5 0,则输出结果是A)6566456 B)

12、66656 C)66666 D)666665628. 有以下程序#include #define S(x) 4*(x)*x+1void main() int k=5,j=2; printf(%dn,S(k+j);程序运行后的输出结果是A)197 B)143 C)33 D)2829. 有如下程序,其中k的初始值为八进制数#include void main() int k=011;k+;printf(“%dn”, k); 则程序运行后的输出结果是:A) 12 B) 11 C) 10 D) 930. 设有定义:struct char mark12;int num1;double num2; t1,

13、t2;,若变量均已正确赋初值,则以下语句中错误的是A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;二、填空题(【1】-【10】每空1分,【11】-【20】每空2分,共30分)1、以下程序实现两个字符串的连接。不用strcat函数,填空请将程序补充完整void str_cat(char S180,S240) int i=0,j=0; while ( 【1】) i+;while (S2j!=0) 【2】 【3】 printf(“n连接后的字符串为: %s”, S1);2、以下程序计算1!+2!+10!的值,请填空:vo

14、idmain() int f=1,i,j,sum=0;for(j=1;j=10;j+) for(i=1;【4】; i+) 【5】 【6】 f=1; printf(1!+2!+10!=%d,sum);3、请将以下程序补充完整,实现求二维数组中最大元素值及其行列号。void main() int a55, i, j; for (i=0; i5; i+) for ( j=0; j5; j+) scanf(“%d”, &aij); int sum = a00, row,col; for (i=0; i5; i+) for ( j=0; j5; j+) if (【7】) 【8】 【9】 【10】 pri

15、ntf(“a%d%d=%d”, row, col, sum ); 4、以下程序是从键盘输入字符统计小写字母个数,读入字符#时停止统计,请填空:void main()int n=0,c; while( (c=getchar()!=【11】 ) if(【12】) n+; printf(%dn,n);5、以下程序是找年龄最大的人,输出其姓名和年龄。请将以下程序补充完整:#define N 4 struct manchar name20; int age; personN=“li”,18,”wang”,19,”zhang”,22,”sun”,20;void main() struct man *q,*

16、p;int i, m=0;p = person;q=person;for (i=0; iN; i+)if (mname, q-age);6、以下程序实现数组的逆序输出,请填空:#define N 5void main() int aN=9,6,8,4,1,i, temp;printf(“n original array: n”);for (i=0;iN; 【16】) printf(“%4d”, ai );for (i=0; 【17】; i+ ) temp = ai; 【18】 aN-i-1=temp;printf(“sorted array:n”);for (i=0; iN; i+) prin

17、tf(“%4d”, ai);7 从键盘读取一个字符串,统计出现某特定字符个数. 请完善该程序:void main() int i=0,num=0;char str20,ch;ch=getchar();【19】while (stri!=0 ) if(【20】) num+; i+;printf(“the %c num is %dn”,ch,num);三、读程序,写出运行结果(每小题3分,共15分)1. void func1(int i); void func2(int i); char st=hello,friend!; void func1(int i) printf(%c,sti); if(i

18、3) i+=2;func2(i); void func2(int i) printf(%c,sti); if(i3)i+=2;func1(i); void main() int i=0; func1(i); printf(n);2.void main() int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(%dn,s);3.void f(int x,int y) int t; if(xy)t=x;x=y;y=t;void main() int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); p

19、rintf(%d,%d,%d,a,b,c);4.void fun(int *a,int i,int j) int t; if(ij)t=ai;ai=aj;aj=t;void main() int a=18,2,5,4,7,6,i,j,s=0,m=5; for(j=0;j6;j+) fun(a,s,m); s+; m-; for(i=0;i6;i+) printf(%d ,ai);5.#define A 4#define B A-2void point(char *t) t+=B/2; *t=*t+1; void main() char b=abcdef,*p=b; point(p); prin

20、tf(%sn,b); 四编程题(第一题7分,第二题8分,共15分)1. 通过键盘输入33的整数矩阵,编程求出矩阵主对角线上元素之和。 2. 编写函数,其功能是在字符串 s1的指定位置 f 前插入字符串 s2,要求函数首部为:void insert(char *s1,char *s2,int f)。参考答案一、选择题(1-10每题1分,11-30每题1.5分,共40分)1-5 CCCCB6-10 DCBBB11-15 CDABB16-20 AADCD21-25 BCDDA26-30 AABCC二、填空题(每题2分,共30分)1 s1i != 0 or s1i != 02 s1i+ = s2j+3

21、 s1i = 0 or s1i = 04 i = sum8 sum = aij;9 row = i;10 col = j;11 #12 c=a & cage or (*p).age or personi.age14 m = q-age; or m = (*q).age; or m = personi.age15 %s16 i+17 i N/218 ai = aN-i-1;19 gets(str); or scanf(%s, str);20 stri = ch三、读程序,写出程序运行结果(每题3分,共15分)1. hlo2. 163. 4,3,54. 6 7 4 5 2 185. abceef四

22、、编程题(第1题7分,第2题8分,共15分)1.#include int summary(int b33) int i,sum=0; for(i=0;i3;i+) sum=sum+bii; return sum;void main()int a33,sum=0;int i,j;printf(please input rectangle elements:n);for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); sum=summary(a);printf(sum is %d,sum);2. void insert(char *s1,char *s2,int f) int i,j; char t; for(i=f,j=0;s2j;i+,j+) t=s1i; s1i=s2j; s2j=t; for(j=0;s2j;j+,i+) s1i=s2j; s1i=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1