2013年长沙理工大学C语言考试试卷A
更新时间:2024-04-16 18:19:01 阅读量: 综合文库 文档下载
………………………………………………………………………………………………………………
课程名称(含档次) C语言程序设计 课程代号 D081200065
专 业 非计算机专业 层次(本部、城南) 本部 考试方式(开、闭卷) 闭卷
一. 选择题(本题总分50分,每小题2分) 1. 下面说法正确的是(C)
A)C程序由符号构成 C)C程序由函数构成
B)C程序由C的指令构成 D)C程序由C语句构成
2. 在C语言中,如果下面的变量都是int型,则输出的结果是(D)
sum=pad=5; pad=sum++; pad++; ++pad;
printf(“%d\\n”,pad); A) 4
B) 5
C)6
D) 7
3. 表达式3.6-5/2+1.2+5%2的值是( D)
A)4.3
B) 4.8 C) 3.3 D)3.8
4. 以下选项中不是C语句的是(C)
A) {int i=5; i++;printf(“%d\\n”,i);} C) a=5, c=10
B) ;
D) {;}
5. 下述程序的输出结果是(B)
main( ) { int x=023; printf(“%d”, --x); }
第 1 页 共 12 页 C语言程序设计A卷
A) 17 C) 23
B) 18 D) 24
6. 有如下定义: float x; unsigned y; 则以下合法的输入语句是(B)
A) scanf(“%5.2f%d”, &x, &y); B) scanf(“%f%3o”, &x, &y); C) scanf(“%f%n”, &x, &y);
D) scanf(“%f%f”, &x, &y);
7. 判断char型变量ch是否为小写字母的正确表达式是(D)
A) ‘a’<=ch<=’z’
B) (ch>=a)&&(ch<=z)
D) (ch>=’a’)&&(ch<=’z’)
C) (‘a’>=ch)||(‘z’<=ch) 8. 以下程序的输出结果是(B)
main( )
{ int x=2, y=-1, z=2; if(x B) 2 D) 0 9. 以下程序的运行结果是(D) main( ) { int k=4, a=3, b=2, c=1; printf(“\\n%d\\n”, k 第 2 页 共 12 页 C语言程序设计A卷 A) 4 C) 2 B) 3 D) 1 10. 在C语言中,下述正确的是(D) A) do-while语句构成的循环不能用其他语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) do-while语句构成的循环,在while后的表达式为非0时结束循环。 D) do-while语句构成的循环,在while后的表达式为0时结束循环。 11. 对于下述while循环语句,说法正确的是(B) int i=1; while(i++) printf(“***”); A) 判断循环结束的条件非法 C) 是有限循环 B) 是无限循环 D) 只循环一次 12. 下面程序的输出结果(B) #include for(a=1,b=1;a<=100;a++) { if (b>=20) break; if(b%3= =1) { b+=3; continue;} b-=5; } 第 3 页 共 12 页 C语言程序设计A卷 printf(“%d\\n”,a); } A) 7 B) 8 C) 9 D) 10 13. 以下不能正确进行字符串赋初值的语句是(C) A) char str[5]=“good!”; B) char str[ ]=“good!”; C) char *str=“good!”; D) char str[5]={‘g’,’o’,’o’,’d’,’\\0’}; 14. 给出以下定义: char x[]=“abcdefg”; char y[]={'a','b','c','d','e','f','g'}; 则以下叙述正确的是(C) A) 数组x和数组y等价 B) 数组x和数组y长度相等 C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度 15. 下面对函数嵌套的叙述中,正确的是(B) A) 函数定义可以嵌套,但函数调用不能嵌套 B) 函数定义不可以嵌套,但函数调用可以嵌套 C) 函数定义和函数调用均不能嵌套 D) 函数定义和函数调用均可以嵌套 16. 调用一个函数,此函数中没有return语句,下列说法正确的是:该函数(A) A) 返回一个不确定的值 第 4 页 共 12 页 C语言程序设计A卷 B) 返回若干个系统默认值 C) 能返回一个用户所希望的函数值 D) 没有返回值 17. 以下有关宏替换的叙述不正确的是(A) A) 宏替换不占用运行时间 B) 宏名无类型 C) 宏替换只是字符替换 D) 宏名必须用大写字母表示 18. 若有语句int *point,a=4; 和point=&a; 下面均代表地址的一组选项是(C) A) a, point, *&a B) &*a, &a, *point D) *&point, *point, &a C) &a,&*point, point 19. 设以下程序的输出结果是( C )。 #define SQR(x) x*x main() { int a=16,k=2,m=1; a=(k+a)/SQR(k+m); printf(“%d\\n”,a); } A)16 B)9 C)12 D)1 20. 下面程序段运行的结果是(C) char a[ ]= “language”,*p; p=a; while(*p!='u') 第 5 页 共 12 页 C语言程序设计A卷 { } A) LANGUAGE 21. 执行下面的程序段后,变量k中的值为(D) int k=3,s[2]; s[0]=k;k=s[1]*10; A)30 B) 20 C) 10 D)不定值 B) language C) LANG D) langUAGE printf(“%c”,*p-32); p++; 22. 以下能正确定义二维数组的是( C )。 A)int a[][3]; B)int a[][3]={ }; D)int a[2][3]={{1},{2},{3}}; C)int a[][3]={2*3}; 23. 有以下程序 #include {char *p=“abcde\\0fghjik\\0”; printf(“%d\\n”,strlen(p)); } 程序运行后的输出结果是(D) A) 15 B) 12 C) 6 D) 5 24.下列程序的输出结果是(C) 第 6 页 共 12 页 C语言程序设计A卷 #include { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b%s[0].c; printf(“%d \\n”,t); } A) 7 B) 4 C) 3 D) 2 25. 当执行下面程序输入:ABC时,输出的结果是(A )。 #include “stdio.h” #include “string.h” main() { char ss[10]=“12345”; strcat(ss,“6789”); gets(ss); printf(“%s\\n”,ss); } A)ABC B)ABC9 C)123456ABC D)ABC456789 二. 填空题(本题总分20分,每空2分) 1. ASCII代码中,字母A的序号是65,以下程序的输出结果是【65 89】。 第 7 页 共 12 页 C语言程序设计A卷 #include { char c1=’A’, c2=’Y’; printf(“%d, %d\\n”, c1, c2); } 2. 若x为int型变量,则执行以下语句后x的值是【2】。 x=7; x+ = x- = x+x ; 3. 有int a=3, b=4, c=5; 则以下表达式的值是【3】。 ! (a+b)+c -1 && b+c/2 若二维数组a有m列,则计算任一元素a[i][j]在数组中的位置的公式是【i*m+j 】。 4. C语言提供了三种预处理语句,他们是宏定义,【文件包含】 和条件编译。 5. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。 void sort(int b[],int n) { int i, j, t; for(i = 0; i { int a[]={5, 8, 6, 2, 7, 4, 1, 3}; int i; 第 8 页 共 12 页 C语言程序设计A卷 sort(a, 8); for(i = 0; i<8; i ++ ) printf(“﹪5d”, a[i]); printf(“\\ n”); } 6. 以下程序的功能是先为数组a输入数据,再为x输入一个数据,在数组a中找出第一个 与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。 main() {int i,x,a[10]; for(i = 0; i<10; i ++ ) scanf(“﹪d”, 【8】 ); scanf(“﹪d”, &x); printf(“﹪d”, x); for(i = 0; i<10; i ++) if( 【9】 ) break; if ( 【10】 ) printf(“ position:﹪d \\ n”, i); else printf(“ Not found! \\ n”,x); } 三. 分析程序,写出运行后的结果。(本题总分10分,每小题5分) 1、下述程序的输出结果是_____s=13_______________。 #include 第 9 页 共 12 页 C语言程序设计A卷 for( k=7; k>4; k--) { switch(k) { case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; } } printf(“s=%d”, s); } 2、下述程序的输出结果是__________4,5__________。 void swap(int *a, int *b) { int *tmp; tmp = a; a = b; b = tmp; *tmp = 4; } 第 10 页 共 12 页 C语言程序设计A卷 main() { int a = 3,b = 5; swap(&a,&b); printf(“%d,%d”,a,b); } 四、编程题(本题总分20分,每小题10分) 1、编程从键盘输入一个5行5列的二维数组数据(设数值各不相等),并找出数组中的最大值及其所在的行下标和列下标。要求格式化打印输出,例如最大值形式:Max=最大值,row=行标,col=列标。 #include Int I,j,Max,a[5][5],row,col; Max=0; For(i=1;i<=5;i++){ For (j=1;j<=5;i++){ Scanf(“%d”,&a[i][j]); If (a[i][j]>max) { max=a[i][j]; row=I; col=j; } } } 第 11 页 共 12 页 C语言程序设计A卷 Printf(“MAX=%D,ROW=%D,COL=%D”,MAX,ROW,COL); } 2. 主函数已有变量定义语句 double a=2.8, int n=4 , 以及函数调用语句 mypow( a,n ) 用以求a的n 次方。请编写mypow函数。 double mypow(double x,int y) { int n=0; double ans=1.00; if(y==0) return 1;//注意为0次方时的判断。 else { while(n return ans; } } 第 12 页 共 12 页 C语言程序设计A卷
正在阅读:
2013年长沙理工大学C语言考试试卷A04-16
嵌入式实验报告11-07
2012年度个人述职述廉报告12-17
论语复习【十】—中庸之道03-28
自动接边arcgis - 图文12-26
同学会邀请函通知02-23
等你醒来02-14
广告语大词典(收集您身边的广告词,请添加)(5篇范文)08-22
儿童发展心理学03-20
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- 语言考试
- 长沙
- 理工大学
- 试卷
- 2013