欢迎光临奥帕文库,如需获取更多资料请使用搜索功能。
奥帕文库
当前位置:首页 » 工程科技 » 电子/电路 » 正文

【图文】05 1 C语言试卷A

广东工业大学考试试卷 ( A课程名称:姓名:)C 语言程序设计 周星期 三 ( 月 日)考试时间: 第 20题号 得分 评分人一二三四五六七八九十总分学号:线一、 单选题 (每空 2 分,共 20 分) 1. C 程序的基本构成单位是_B_____ A)标识符 B)函数 C)表达式 D)语句 2. 结构化程序设计不应该使用__D___订A)自顶向下,逐步细化的方法B)模块化设计C)三种基本结构:顺序结构、选择结构、重复结构的编码方法专业:D)灵活、简洁的 goto 结构 3. 若 int a=13 ,则执行语句 a/=a+a; 后 a 的值是___D_ A) 13 B) 14 C)0 D) 0.5装4. 若 int n=5 ,则执行语句 n=(n%=2)+ (6> n >4);后,n 的值是_A__ A) 1学院:B)2C)3D)05. 有程序段 : int a,b; 的输入方法___A_ A)5,6 B)5 6scanf(“%d,%d”,&a,&b); 请为之选择运行时正确C)5↙6D)5;6↙6.有程序段 int a=10; a广东工业大学试卷用纸,共 9 页,第 1 页

05 1 C语言试卷A

的switch(a+1) { case 10: a++ ; case 11: ++a; break; default: a=a+1; } 运行该段程序后 a 的值是__A)10 B)11 C)12 D)137. 有定义: A)p2=p1=afloat a[10],*p1,*p2; 则下列运算中_D___是错误的. B)p2=a+1 C)p1=&a[9] D)p1=a[0]+1 int *p =8.若有程序段:int a[2][3]={{1,2,3},{4,5,6}};&a[0][0];表明 p+2 是列地址 则下列哪个表达式的值是 3 C A) a B)*(a+2) 越界 C) *(p+2) D)(*(a+1))[2]9.以下说法正确的是 B A) 一个函数的返回值的类型由调用该函数的主调函数的类型决定× B) C 语言程序总是从 main 函数开始执行 C) C 语言程序中 main 函数必须放在程序的开始部分 D) C 语言程序总是从编写在最前面的函数开始执行。

10. 数组名作为参数传递给函数,作为实际参数的数组名被处理为___A A)该数组的首地址 C)该函数中各元素的值 B)该数组的长度 D)该数组的第一个元素的值广东工业大学试卷用纸,共 9页,第 2页

05 1 C语言试卷A

装订广东工业大学试卷用纸,共 9页,第 3页

05 1 C语言试卷A

二、填空题(每空 2 分,共 20 分)1. 若 int x=3, y=-4 ,z=5; 则表达式 (x&&y)= =(x|| !z)的值是_1)__ x||(x+y)&&z-y 的值是__2)_ 2. C 语言中,根据数据的组织形式,文件分为_________3)_____________这两种。

3. 写出与语句: if (a>b) printf(“%d”,a); else printf(“%d”,b); 等价的一个语句(不使用 if 或 case 语句)__________4)_____________ 4.有程序段: char s[ 10 ]=”abcde\0”, * p ; p=s; 则 strlen(p)的值为__5)___ *(p+5)的值为_6)___ 5. 以下程序的执行后在屏幕上输出____7)___ # include main () { int a[3][3]={1,2,3,4,5,6,7,8,9}, j, s=1; for (j=0;j<=2;j++) s=s*a[j][j]; printf(“s=%d”,s); } 6. 在 C 语言中,按作用域变量可以分为_________(8)___________两大类. 7. 如有定义 struct {int x ; int y; }s[2]={{1,6},{3,9}}, *p=s; 则(假设各语句彼此独立,无顺序关系) printf(“%d”,p->y++);输出显示___9)_ printf(“%d”,(++p)->x); 输出显示___10)__三、 读下面的程序,回答问题(每问 5 分,共 30 分)1. 程序 #include “stdio.h” void rev(int array[] ,int size); void disp(int a[]); main() { int j; static int a[]={1,3,5,7,9,11,13,15,17,19}; printf(“before rev\n”); disp(a); rev(a,10); printf(“after rev\n”); disp(a) ; /*写出程序执行这个函数时输出*/ }广东工业大学试卷用纸,共 9页,第 4页

05 1 C语言试卷A

void disp(int a[ ]) { int j; for (j=0;j<10;j++) { printf(”%6d”,a[j]) ; if ((j+1)%5= =0) puts(“\n”); }; } # define MAXSIZE 100 void rev(int array[ ],int size) { int j,x[MAXSIZE]; for (j=0;j

2.# include main() { int a[10],s,p,j=0,k=0; scanf("%d",&s); while (s> - 1) { a[++k]=s; scanf("%d",&s); }; for (p=1;p<=k;p++) if (a[p]%2==0) a[j++]=a[p]; for (p=0;p

05 1 C语言试卷A

3. 写出程序运行结果。

struct mn{ int x; int * y; } *p; main() { int a[ ]={15,20,25,30}; struct mn aa[4]; int k; for (k=0;k<4;k++) { aa[k].x=k; aa[k].y=&a[k]; }; p=aa; printf("%d\n",(++p)->x); printf("%d\n",(*p->y) ); } 4. # define Row 9 #define Column 9 /*本程序中矩阵最大为 9 行,9 列*/ main() { int i, j,k,m,n,flag1,flag2,a[Row][Column],max,maxi ,maxj; printf("\ninput number of rows:"); scanf("%d",&n); printf("\n input number of columns:"); scanf("%d",&m); /*按行输入矩阵*/ for (i=0; i< n; i ++) { printf("第%d 行?\n",i); for (j=0;jmax) { max=a[i][j]; maxj=j ; } for (k=0,flag1=1;ka[k][maxj]) flag1=0; if (flag1) { printf("\n 第%d 行,第%d 列的元素%d 为所求。

\n", i,maxj,max); flag2=1; } } 广东工业大学试卷用纸,共 9 页,第 6 页 if (!flag2) printf("\n 没有所要找的元素 !\n"); }

05 1 C语言试卷A