《广东工业大学C语言试卷2008(B)》由会员分享,可在线阅读,更多相关《广东工业大学C语言试卷2008(B)(7页珍藏版)》请在金锄头文库上搜索。
1、广东工业大学考试试卷 ( B )课程名称: C 程 序 设 计 试卷满分 100 分考试时间: 2008年6 月 23日 (第 18 周 星期一 )题 号一二三四五六七八九十总分评卷得分评卷签名复核得分复核签名一、单选题(50分,每小题2分)1、以下不合法的用户标识符是(C)A:j2_KEYB:DoubleC:4dD:_8_2、表达式3.6-5/2+1.2+5%2的值是(D)A:4.3B:4.8C:3.3D:3.83、以下叙述错误的是(B)A:算法正确的程序最终一定会结束B:算法正确的程序可以有零个输出C:算法正确的程序可以有零个输入D:算法正确的程序对于相同的输入一定有相同的结果4、以下能正
2、确定义且赋初值的语句是(A)A:int n1=n2=10;B:char c=32;C:float f=f+1.1;D:double x=12.3E2.5;5、以下叙述中错误的是(C)A:C语句必须以分号结束B:复合语句在语法上被看作是一条语句C:空语句出现在任何位置都不会影响程序的运行 D:赋值表达式末尾加分号就构成了赋值语句6、有以下程序Main()int a=666,b=888; Printf(“%dn”,a,b);程序运行后的输出结果是(B)A:错误信息B:666C:888D:666,888 学 院: 专 业: 学 号: 姓 名: 装 订 线7、以下程序段的输出结果是(C)Int a=1
3、234;Printf(“%2dn”,a);A:12 B:34 C:1234 D:提示出错、无结果8、若有以下程序(n所赋的是八进制数)Int m=32767, n=032767Printf(“%d,%on”,m,n);执行后输出结果是(A)A:32767,32767 B:32767,032767 C:32767,77777 D:32767 ,0777779、有以下程序Main()int m=0256,n=256; Printf(“%o %on”m,n);程序运行后的结果是(C)A:0256 0400 B:0256 256 C:256 400 D:400 40010、若整型变量a、b、c、d中的
4、值依次是:1、4、3、2.则条件表达式ab?a:cd?c:d的值是()A:abs(x-y)-10&x-y10 C:(x-y)10 D:(x-y)*(x-y)10011、有以下程序DMain()int k=5; While(-k) print(“%d”,k-=3); Print(“n”);A:1 B:2 C:4 D:死循环12、若要求从键盘读入含有空格字符的字符串,应使用函数(B)A:getc() B:gets() C:getchar() D:scanf()13、以下叙述正确的是()A:调用printf函数时,必须要有输出项B:使用putchar函数的时候,必须在之前包含头文件stdio.hC:
5、在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D:调用getchar函数读入字符时,可以 从键盘上输入字符所对应的ASCII码14、以下数组定义中错误的是(B)A:int x3=0;B:int x23=1,2,3,4,5,6;C:int x3=1,2,3,4,5,6; D:int x23=1,2,3,4,5,6;15、若有定义:int w35;则以下不能正确表示该数组元素的表达式是(B)A:*(*w+3) B:*(w+1)4 C:*(*(w+1) D:*(&w00+1)16、已有定义:int I,a10,*p;,则合法的赋值语句是(D)A:p=100; B:p=a5; C:p=a2
6、+2; D:p=a+2;17、下述叙述中正确的是(D)A:每个C程序文件都必须要有一个main()函数B:在C程序中main()函数的位置是固定的C:C程序中所有函数之间都可以相互调用,与函数所在位置无关D:在C程序的函数中不能定义另一个函数(调用就可以)18、已定义以下函数Int fun(int *p)return *p;Fun 函数返回的值是()A:不确定的值 B:一个函数 C:形参中P中存放的值 D:形参P的地址值19、有以下程序 Main() char p=a,b,c,q=”abc”; Printf(“%d %dn,sizeof(p),sizeof(q); ;程序运行后的输出结果是(C
7、)A:4 4 B: 3 3 C:3 4 D:4 320、有以下程序 Main() char s=”159”,*p; p=s; Printf(“%c”,*p+);Printf(“%c”,*p+); 程序运行后的结果是(A)A:15 B:16 C:12 D:5921、已知i,j,k为int型变量,若从键盘输入:1,2,3,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是( C )A:scanf(%2d,%2d,%2d, i, j, k); B:scanf(%d %d %d,&i,&j,&k);C:scanf(%d,%d,%d,&i,&j,&k); D:scanf(i=%d,j=%d
8、,k=%d,&i,&j,&k);22、以下程序的输出结果是(B)main() char st20= hello0t;printf(%d %dn,strlen(st),sizeof(st); A:9 9; B:5 20;C:13 20; D:20 2023、设A为存放(短)整型的一维数组,如果A的第一个元素的地址为P,那么A中第i 个元素的地址为(B)A:P+i*2 B:P+(i-1)*2 C:P+(i-1) D:P+i24、若已定义:int a9, *p=a;并在以后的语句中未改变p的值,不能表示a1地址的表达式为(C)A:p+1 B: a+1 C:a+ D:+p25、定义如下变量和数组: i
9、nt i, x33=1,2,3,4,5,6,7,8,9;则下面语句for(i=0;i3;i+) printf(“%d”,xi2-i);的输出结果是(C)A:1 5 9 B:1 4 7 C:3 5 7 D:3 6 9二、判断题(每题1分,共10分)1.C 语言源程序文件通过了编译、连接之后,生成一个后缀为 .EXE 的文件。(Y ) 2. 在 C 程序中,函数既可以嵌套定义,也可以嵌套调用。( F )3. 在 C 程序中,APH 和aph 代表不同的变量。( Y )4. 表达式0195 是一个八进制整数。( F )5. 表达式_ya是不合法的C语言标识符。( F)6. C程序总是从main( )
10、函数的第一条语句开始执行的。( Y ) 7. a-=7等价于a=a-7.( Y )8. 利用fclose函数关闭已打开的文件。( Y )9. 数组名可以作为参数进行传递。( Y )10. 执行printf(“%x”,12345);输出 12345 .( F )三、读下面的程序,回答问题(每题4分,共20分)1、以下程序运行后的输出结果是_25,21,37_ Main() int a,b,c; a=25; b=025; c=0x25; printf(“%d ,%d ,%d n”,a,b,c); 2、以下程序运行后的结果是_4,3,5_ Main() Int a=3,b=4,c=5,t=99 ;
11、If(ba&ac) t=a;a=c;c=t; If(ac&bc) t=b;b=a;a=t; printf(“%d ,%d ,%d n”,a,b,c); 3、下面程序运行后的结果是:_5,3_ Void swap( int*a,int*b) int *t; t=a; a=b; b=t; Main() int x=3, y=5, *p=&x, *q=&y; Swap(p, q); Printf(“%d,%dn”,*p,*q); 4、 以下程序运行后的输出结果是:_123056009_ Main() int i, j,a3=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) for(j=i+1;i3:i+) aji=0; for(i=0;j3;j+) for(j=0;j3;j+) printf(“%d “,aij); Printf(“n”); 5、以下程序的输出结果是:_30_ Main() int a33=1,2,9,3,4,8,5,6,7,i,s=0;