C语言程序设计考试A答案.doc
第 1 页 共 8 页 系领导审批并签名 A 卷 广州大学广州大学 - 学年第一学期考试卷学年第一学期考试卷 课程C 语言程序设计考试形式(闭卷,考试) 物理与电子工程学院 系 专业 学号 姓名 题号 一 二 三 总分 评卷人 1 2 3 分数 50 20 10 10 10 100 评分 一、一、 选择题(每题选择题(每题 2 分,共分,共 50 分)分) 下列每题 A、B、C、D 四个选项中,只有一个选项是正确的。 1、以下说法正确的是 B A)C语言程序总是从第一个函数开始执行 B)C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 2、若有定义 int k5; ,表达式 kk-k*k 运算后 k 的值是( C ) A90 B25 C0 D-15 3、有输入语句scanf“d,d,d”,为使变量 a 的值为 1,b 为 3,c 为 2, 从键盘输入数据的正确形式为 D (其中, “ ”表示空格,表示 Enter 键) A)132 Ba1,b3,c2 C a1b3c2 D 1,3,2 4、以下程序段的输出是( C ) printf“|8.5f|n”,3461.45; A)|61.45000| B |3461.450| C |3461.45000| D | 3461.4500| 5、在 x 值处于-2x2 或 4x8 时值为“真”否则为“假”的表达式是( D ) A) -2x24x8 B x-2 mi; nj; printf“d dn“,m,n; 第 2 页 共 8 页 A 10 8 B 8 9 C 9 9 D 9 8 7、假设所有变量均为整数,则表达式(a2,b5,a,b,ab)的值为( C ) A)7 B8 C9 D10 8、有以下程序,执行后输出结果是 ( A ) include void main() int i1,j1,k2; if( (jk) A)2,2,2 B)2,2,1 C)1,1,2 D)2,2,3 9、有如下程序,该程序的输出结果是( D ) include void main() int x1,a0,b0; switch(x) case 0 b; case 1 a; case 2 a;b; printf(“ad,bdn“,a,b); A)a2,b2 B)a1,b1 C)a1,b0 D)a2,b1 10、下述程序的输出结果是 ( C ) include main int k4,n0; for;n void function1int a,int b int c; ca;ab;bc; main() int x3,y4; function1x,y; printf“xd ,ydn”, x , y; A x3,y4 B)x4,y3 C 不确定 D 3 , 4 1313、以下程序的输出结果是 ( B ) include int fint; main int w2,k,e; for k0;k int funcint n ifn1 return 10; else return funcn-13; void main printf“d”,func3; A 13 B 16 C 19 D 22 1515以下程序的运行结果是 ( C ) include define DOUBLEr r*r main int x9,y6,t; 第 4 页 共 8 页 t DOUBLExy ; printf “dn”,t; A)29 B)81 C)69 D)225 16、 若有函数 fuction1a,b,并且已使函数指针变量 p 指向函数 function1, 当调用该函数 时,正确的调用方法是 ( C ) A*pfunction1a,b; B *p function1a,b C*pa,b; D *pa,b; 17、有如下定义struct int x; char * y; tab21,ab,2,cd,*ptab; 则表达式*p-y的结果是 ( A ) A a B b C c D d 18、若有定义int x341,2,3,4,5,6,7,8,9,10,11,12,*p4x; 则能够正确表示数组元素 x23的表达式是 ( B ) A **p23 B **p23 C *p23 D **p5 19、若有定义int b,*pb;则以下正确的赋值表达式是( A ) A pb void main int a0,x5,y10; suby,x, printf“d”,a; A-5 B 0 C 5 D 不确定 21、以下程序的输出结果是( B ) include void main int a510,20,30,40,50; int *p printf“d,“,*p; printf“d“,*p; A20,30 B30,40 C21,30 D 31,40 22、若已建立下面的链表结构,指针 p、q 分别指向图中所示结点,则以下可以将 q 所指结 点从链表中删除并释放该结点的语句组是( B ) A freeq;p-nextq-next; 第 5 页 共 8 页 B *p.next*q.next;freeq; C q*q.next;*p.nextq;freeq; D qq-next; p-nextq;pp-next; freep; 23、以下程序的输出结果是( D ) include typedef struct dateint cat; long L; char c10; TOO; main printf“dn”,sizeofTOO; A 15 B 26 C 10 D 16 24、以下程序中 c 的二进制值是( A ) char a3,b6,c; ca|b fun2int a,int b int c; ca*b3; return c; fun1int a,int b int c; aa;bb; cfun2a,b; return c*c; main int x11,y19; printf“dn“,fun1x,y; 3. 下列程序的功能是求出 ss 所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串 123412132,输入字符 1,则输出 3,请填空。 include include define M 81 第 6 页 共 8 页 int fun(char *ss, char c) int i0; for(; *ss ;ss) if(*ssc)i; return i ; main() char aM, ch; clrscr(); printf(“nPlease enter a string “); gets(a); printf(“nPlease enter a char “); chgetchar(); printf(“nThe number of the char is dn“, fun(a,ch) ); 4.以下程序在主函数中输入 10 个整数,调用 sort 函数实现 10 个整数按从小到大排序(使用 选择排序法) ,在主函数中输出排序结果。请填空 include void sort int a ,int n int i,j,k; int t; for i0;iaj kj; tak;akai;ait; main int s10; int i; fori0;i add_duijiaoxianint b55,int m int i,j,total0; for i0;i void main int i; int deno,fenzi; float term,sum; sum0 ;term2.0 ;fenzi2;deno1; fori0;i include main 第 8 页 共 8 页 int i,k0; clrscr; printf“n“; for i100;i999;i if i/1030 printf“i4d “,i; k;