资源描述:
《C语言考试样卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2005-2006学年第二学期《C程序设计期末试卷》(闭卷)一、单项选择题(20分)1.在定义函数时,能用以下 (1) 标识符作函数名。 A.struct B._abc C.8abc D.abc@sina.com2在一个函数被调用执行过程中,当执行到函数体中 (2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是 (3) 。 A.main函数
2、是自定义函数,因此函数体中的声明和语句都是可选的B.main函数定义时可以有形式参数也可以没有形式参数C.main函数定义必须出现在一个源程序的起始位置D.在一个源程序中只能有一个main函数定义4.以下函数定义中正确的是 (4) 。 A. doublefun(intx,y){returnx*y;} B. doublefun(intx,intx){returnx*x;}C. doublefun(registerintx,inty){return x*x;}D. doublefun(externintx,inty){r
3、eturnx*y;}5.若函数定义为voidfun(intx,inty,int*p){*p=x>y?x:y;},且main函数中有声明“inta=1,b=2,c[2]={0};”,则以下语句中正确的是 (5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2);6.若函数定义为doublefun(doublex,doubley){return x/y;},则以下fun引用声明(函数原型)中错误的是
4、(6) 。 A.doublefun(doublex,doubley);B.doublefun(doublea,doubleb);C.doublefun(double,double);D.float fun(doublex,doubley);7.以下程序段中,有语法错误的是 。 A. doublef;doublef(doublex){return f=x*x;}C. doublef(doublex){doublef; return f=x*x;}B
5、. doublef(doublef){return f*f;}D. doublef(doublex){ if(x>0){doublef; return f=x;}else{doublef; return f=-x;}} 8.以下一维数组声明中,正确的是 (8) 。 A.inta[]; B.intb[10],a[b]; C.inta[4]={1,2,3,4,5}; D.inta[sizeof('a')]={'a'};9.以下二维数组声明中,正确的是 (9) 。 A.char b[2][3]={“a”.”b”.
6、”c”}; B.char b[][3]={0}; C.char b[2][]={0}; D.char b[][]={0};10.已知有二维数组声明“inta[3][3]={1,2,3,4,5,6,7,8,9};”,不能正确输出数组a中第2行(行下标为1)第3列元素(列下标为2)的语句是 (10) 。 A.printf(“%d”,a[1][2]); B.printf(“%d”,*(*(a+1)+2)); C.printf(“%d”,*(a+1)[2]); D.prin
7、tf(“%d”,*(a[1]+2));11.若需要将字符串“happy”和“goodluck”存储到数组中,则以下选项中正确的是 (11) 。A. char s[2][10];s[2][10]={“happy”,“goodluck”};B. char s[2][10];s[0]=“happy”;s[1]=“goodluck”;C. char s[2][10];strcpy(s[0][0],“happy”);strcpy(s[1][0],“goodluck”);D. char s[2][10];strcpy(s[0],“happy”);strcpy(s[