当前位置:首页 >> 其它课程 >>

05


长安大学 20 05 -20 06 学年第 二 学期
课程名称 学生姓名 C 语言程序设计 学院 考试日期 班级 年

试题( A )卷
月 日 共 题

学号

注意:所有答案均写在答题纸上 一、选择题(每空2分,共60分)
1. 以下变量名中,正确的是: C A. $x B. 2a CC

BA C . _al D . a-1 以下合法的常量是: A. 10e2.5 B. e-3 C . 100L D . 100M 若 x,y 为 float 型量,x=5,y=5.8;则命令 printf(“%3.1f”,(x,y));的输出结果是 A.5.0 5.8 B.5.8 C.5.0 D.输出格式不对 以下说法中正确的是__________. A.C 语言程序总是从第一个函数开始执行 B.在 C 语言程序中,要调用的函数必须在 main( )函数中定义 C.C 语言程序总是从 main( )函数开始执行 D.C 语言程序中的 main( )函数必须放在程序的开始部分 下面程序的输出结果是__________. main() { int x=20,y=10; printf("%d %d\n",x--,--y); } A.20 9 B.19 9 C.19 10 D.20 10 有以下程序,运行后的输出结果是 #include <string.h> main( ) BDDCB {char *p="abcde\0fghjik \0"; printf(“%d\n",strlen(p)); } A.12 B.15 C.6 D.5 C 语言中,函数值的类型定义可以缺省,此时函数值的隐含类型是 A.void B.int C.float D.double

2.

3.

4.

5.

6.

7.



1

页(共

页)

8.

9.

10.

11.

12.

以下程序的输出结果是 main ( ) { int k=17; printf ("%d,%o,%x \n",k,k,k); } A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 以下程序执行后 sum 的值是__________. main() { int i , sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum);} A. 15 B. 14 C.不确定 D. 0 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是__________. A.地址传递 B.单向值传递 C.由实参传给形参,再由形参传回实参 D.传递方式由用户指定 以下程序运行后的输出结果是 。 ?? #define S(x) 1+4*x*x ?? main() ??{ int i=2,j=3; ?? printf("%d\n",S(i+j)); ??} A.20 B.18 C.101 D.125 有如下定义, x 变量占的字节数是 struct { int n; char a[10]; float m; BDBAC }x; A.10 B.8 C.14 D.16

13. 以下程序的输出结果是 main() { int i; for(i=1;i<=5;i++) {if(i%2==1) printf(“*”); else continue; printf(“#”);} printf(“$\n”); }



2

页(共

页)

A. #*#*#*$ B. *#*#*#$ C. ###$ D. ***$ 14.以下程序的输出结果为 #include “stdio.h” int fum(char *s) {char *p=s; while(*p!=’\0’)p++; return (p-s); } main() {char *p=”abc123”; printf(“%d\n”,fun(p)); } A. 6 B.3 C. 0 D.1 15.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是 A. char s[10]=”abcdefg”; B.char t[]=”abcdefg”,*s=t; C. char s[10];s=”abcdefg”; D.char s[10];strcpy(s,”abcdefg”); 16.一个 main(int a, char *argv[])函数带参数,可执行文件名为 prog.exe,若命令行输

入 prog abcd efg 123<CR>, 则 printf("%d,%s\n",a,argv[1]) 的 结 果 是 __________. A.3,prog B.4,prog C.3,abcd D.4,abcd
17.有以下程序 main( ) { char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4])); } 执行后输出结果是() A.2 B. 3 C.4 D. 5 DAABD 18.若程序中定义了以下函数 double myadd(double a,double b) { return (a+b);} 并将其放在调用语句所在函数之后,则在调用之前应该对该函数进行说明,以下选项中错 误的说明是 A.double myadd(double a,b); B.double myadd(double,double); C.double myadd(double a,double b); D.double myadd(double x,double y); 19.下面程序的输出是___________. int m=13; int fun(int x,int y) { int m=3; return(x*y-m);} main( ) { int a=7,b=5; printf("%d\n",fun(a,b)/m);}
第 3 页(共 页)

A.1 B.2 C.7 D.10 20. 设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是() A.a++; B.b++; C.c++; D.d++; 21.若需要从键盘输入含有空格字符的字符串,应使用函数 A.getc() B.gets(); C.getchar(); D.scanf(); 22. 在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是 A. (!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0) 23.已定义以下函数 int fun( int *p) {return *p;} fun()函数的返回值是 A.不确定的值 B.一个整数 C.形参 p 中存放的值 D.形参 p 的地址值 24.若有说明语句:double *p,a;则能通过 scanf()正确输入数据的程序段是 A.*p=&a;scanf(“%lf”,p); B.*p=&a; scanf(“%f”,p); C. p=&a; scanf(“%lf”,*p); D.p=&a; scanf(“%lf”,p); 25. 设 fp 为指向某文本文件的指针,且已读到此文件末尾,则函数 feof()的返回值是 A.EOF B.1 C.0 D.非0值 26. 有以下程序 ?? main() ??{ int m,n,p; ?? scanf("m=%dn=%dp=%d",&m,&n,&p); ?? printf("%d%d%d\n",m,n,p); ??} ??若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输 入是______。 ??A. 123,456,789 B. m=123 n=456 p=789 ??C. m=123,n=456,p=789 D.123 456 789 27.有以下程序 ?? main() ??{ ?? int i=1,j=2,k=3; ?? if(i++==1&&(++j==3||k++==3)) ?? printf("%d %d %d\n",i,j,k); ??} ??程序运行后的输出结果是______。 ?? A.1 2 3 B.2 3 4 C. 2 2 3 D.2 3 3



4 页(共

页)

28.有以下程序 ?? main() ??{ ?? int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; ?? while(i++<7) if(p[i]%2) j+=p[i]; ?? printf("%d\n",j); ??} ??程序运行后的输出结果是______。 ?? A.42 B.45 C.56 D.60 29.有以下程序 ?? int f1(int x,int y){return x>y?x:y;} ?? int f2(int x,int y){return x>y?y:x;} ?? main() ??{ ?? int a=4,b=3,c=5,d=2,e,f,g; ?? e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); ?? g=a+b+c+d-e-f; ?? printf("%d,%d,%d\n",e,f,g); ??} ??程序运行后的输出结果是______。 ?? A. 4,3,7 B. 3,4,7 C. 5,2,7 D. 2,5,7 30. 以下叙述中错误的是______。 ?? A.对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出 ?? B.数组名代表的是数组所占存储区的首地址,其值不可改变 ?? C.当程序执行中, 数组元素的下标超出所定义的下标范围时, 系统将给出“下标越界”的出 错信息 ?? D.可以通过赋初值的方式确定数组元素的个数 二.写运行结果(10分)(1、2 题各 4 分,3 题 2 分) 1.下列程序的运行结果是: #include <string.h> char *ss(char *s) { return s+strlen(s)/2;} main( ) { char *p,*str=”abcdefgh”; p=ss(str); printf(“%s %s\n”,str,p); }



5 页(共

页)

2.下列程序的运行结果是: void f( int y,int *x) {y=y+*x; *x=*x+y;} main( ) { int x=2,y=4; f(y,&x); printf(“%d %d\n”,x,y); } 3.下列程序的运行结果是:

main( ) {int a=15,b=21,m=0; switch(a%3) { case 0 :m++;break; case 1:m++; switch(b%2) {case 0:m++;break; default :m++;} } printf("%d\n",m); }
三.程序填空(20分) 1.以下程序的作用是将 a 数组中的数据进行逆转,补充程序。 ?? void f(int *x,int *y) ??{ ?? int t; ?? t=*x; (1) ;*y=t; ??} ?? main() ??{ ?? int a[8]={18,21,3,4,50,64,7,38},i,*p,*q; ?? p= (2) ;q=&a[7]; ?? while(p<q) ??{f(p,q);p++; (3) ;} ?? for(i=0;i<8;i++)printf("%d,",a[i]); ??}

2. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

?? 请填空。 ?? main() ?? { int i,a[20],sun,count; ?? sum=count=0; ?? for(i=0;i<20;i++) scanf("%d", __(4)___ ); ?? fro(i=0;i<20;i++) ?? if(a[i]>0) ?? { count++; ?? sum+= __(5)____ ;? } ?? printf("sum=%d,count=%d\n",sum,count); ?? } 3. 以下程序的作用是将”abc”写入文件”f1.txt”中,补充程序。 ?? #include ?? main() ?? {FILE *fp1; ?? fp1=fopen("f1.txt", (6) ); ?? fprintf(fp1, ”%s” , "abc" ); ?? (7) ; ?? } ??4. 下面程序的功能是:输出 1000 以内能被 4 整除且个位数为 6 的所有正整数。 main( ) {int i, (8) ; for(i=0; (9) ; i++) {j=i*10+6; if( (10) ) continue; printf(“%5d”,j);} } 四、编程题(10 分) 1.请编写函数 fun,对长度为 num 个字符的字符串,除首、尾字符外,将其余 num-2 个字 符按降序排列。例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa。 ??void fun(char *s,int num) ??{ …… } ??void main() {char a[]=”CEAedca”; fun(a,7); printf(“%s”,a); }? ? 2.键盘输入 x,根据以下分段函数求 y 的值。 x+1 x>0 y= 1-x x<0 0 x=0


相关文章:
《企业管理》第05章在线测试
《企业管理》第05章在线测试_管理学_高等教育_教育专区。《企业管理》第 05 章在线测试《企业管理》第 05 章在线测试 剩余时间:59:03 答题须知:1、本卷满分 ...
测试试卷:计科教材练习【05】
测试试卷:计科教材练习【05】_财会/金融考试_资格考试/认证_教育专区。测试试卷:计科教材练习【05】 一、判断题,共 9 题, 总分:9 分。请直接点击选择 True ...
05G525吊车轨道
05G525吊车轨道_建筑/土木_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档05G525吊车轨道_建筑/土木_工程科技_专业资料。 ...
05s502-砖砌矩形水表井
05s502-砖砌矩形水表井_建筑/土木_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档05s502-砖砌矩形水表井_建筑/土木_工程科技_专业资料。 ...
《商务谈判》第05章在线测试
《商务谈判》第05章在线测试_计算机软件及应用_IT/计算机_专业资料。《商务谈判》第 05 章在线测试《商务谈判》第 05 章在线测试 答题须知:1、本卷满分 20 分...
公司概论05任务
公司概论05任务_管理学_高等教育_教育专区。中央电大公司概论第五次网上作业参考答案05 任务道试题, 一、判断题(共 20 道试题,共 40 分。) 判断题( 1. 期股...
长虹CH05T1631引脚功能及电压表
长虹CH05T1631引脚功能及电压表_电子/电路_工程科技_专业资料。双列直插密64脚封装。是超大规模解码、微处理集成电路,其内部包含微处理器、图象中放、伴音中放、行...
2014法律文书05任务
出庭前,我认真阅读了全部卷宗,进行了必要 的调查和走访,今天又参加了庭审,现依据事实和现行法律规定发表 以下辩护意见,恳请合议庭在裁判时予以充分参考。 一、庭审...
《建筑材料》第05章在线测试正确答案(两套满分)
《建筑材料》第05章在线测试正确答案(两套满分)_其它考试_资格考试/认证_教育专区。 文档贡献者 智者中 贡献于2015-04-27 文库认证 建筑工程资料(全套) 2014年...
《铁路线路安全保护区标桩设计图》(专线设(05)8043)
《​铁​路​线​路​安​全​保​护​区​标​桩​设​计​图​》​(​专​线​设​(​0​5​)​8​0​4...
更多相关标签:
05网 | 英镑 | 英镑对人民币汇率 | 穿越火线官方下载 | 05人生 | 05后早恋吧 | £是什么意思 | £是什么货币 |