|
(26)下列选项可以正确表示字符型常量的是 A)′\r′ B)"a" C)"\897" D)296 (27)下面对C语言的描述中,正确的是 A)函数一定有返回值,否则无法使用函数 B)C语言函数既可以嵌套定义又可以递归调用 C)在C语言中,调用函数时,只能将实参的值传递给形参 D)C语言程序中有调用关系的所有函数都必须放在同一源程序文件中 (28)阅读下面程序段,则执行后的结果为 #include "stdio.h" main() {int m=4,n=2,k; k=fun(m,n); printf("%d\n",k);} fun(int m,int n) {return(m*m*m-n*n*n);} A)64 B)8 C)56 D)0 (29)阅读下面程序段,则执行后输出的结果是 #include "stdio.h" main() { char fun(char,int); char a=′A′; int b=13; a=fun(a,b); putchar(a);} char fun(char a,int b) {char k; k=a+b; return k;} A)A B)M C)N D)L (30)编写求两个双精度数之和的函数,选项中正确的是 A)double add(double a,double b) {double s; s=a+b; return s; } B)double add(double a,b) {double s; s=a+b; return (s);} C)double add(double a double b) {double s; s=a+b; returns;} D)double add(a,b) {double a,b,s; s=a+b; return (s);} (31)已知int a;则下面的说明指针变量p的语句正确的是 A)int p=&a B)int *p=a C)int *p=&a D)int *p=*a (32)已知char **t;则变量t是 A)指向char变量的指针 B)指向指针的char变量 C)指向指针的指针 D)以上说法都不对 (33)阅读下面程序,执行后的结果为 #include "stdio.h" void fun(int *a,int *b) { int k; k=5; *a=k; *b=*a+k;} main() { int *a,*b,x=10,y=15; a=&x; b=&y; fun(a,b); printf("%d,%d\n",*a,*b);} A)10,15 B)5,15 C)5,10 D)15,10 (34)阅读下面程序,在程序执行后的结果为 #include "stdio.h" int *fun(int *a,int *b) { int m; m=*a; m+=*b-3; return(&m);} main() {int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k);} A)53 B)21 C)35 D)14 (35)已知int a[10];则对a数组元素的正确引用是 A)a[10] B)a C)a+5 D)a[10-10] (36)在C语言中,一维数组的定义方法为 类型说明符 数组名 A)[常量表达式] B)[整型常量] C)[整型变量] D)[整型常量]或[整型表达式] (37)阅读下列程序,则运行结果为 #include "stdio.h" fun() { static int x=5; x++; return x;} main() { int i,x; for(i=0;i<3;i++) x=fun(); printf("%d\n",x);} A)5 B)6 C)7 D)8 (38)下列程序的输出结果是 #include "stdio.h" #defineM(x,y)x%y main() { int a,m=12,n=100; a=M(n,m); printf("%d\n",a--);} A)2 B)3 C)4 D)5 (39)阅读下面程序,则程序段的功能是 #include "stdio.h" main() { int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i<7;i++) { t=c[i];j=i-1; while(j>=0 && t>c[j]) {c[j+1]=c[j];j--;} c[j+1]=t;} for(i=0;i<7;i++) printf("%d ",c[i]); putchar(′\n′);} A)对数组元素的升序排列 B)对数组元素的降序排列 C)对数组元素的倒序排列 D)对数组元素的随机排列 (40)阅读下列程序,则执行后的结果为 #include "stdio.h" main() { int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56}; printf("%x,%x\n",c[2][2],*(*(c+1)+1));} A)3e,6 B)62,5 C)56,5 D)3E,6 (41)下列选项中错误的说明语句是 A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B)char a[]={"toyou\0"}; C)char a[]="toyou\0"; D)char a[]=′toyou\0′; (42)下述对C语言字符数组的描述中错误的是 A)字符数组的下标从0开始 B)字符数组中的字符串可以进行整体输入/输出 C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)字符数组可以存放字符串 (43)阅读下列程序,则在执行后,程序的运行结果为 #include "stdio.h" #include "string.h" main() {char a[30]="nice to meet you!"; strcpy(a+strlen(a)/2,"you"); printf("%s\n",a);} A)nice to meet you you B)nice to C)meet you you D)nice to you (44)阅读下面程序,则执行后的结果是 #include "stdio.h" main() {char str[]="tomeetme",*p; for(p=str;p printf("\n");} A)tomeetme B)tmem C)oete D)tome (45)下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车> 则程序输出的结果是 #include "stdio.h" main(argc,argv) int argc;char *argv[]; {int i; printf("%d\n",argc);} A)3 B)4 C)2 D)以上答案都不正确 (46)阅读下面程序,则执行后的结果为 #include "stdio.h" long fun(int n) {if(n>2) return(fun(n-1)+fun(n-2)); else return(2);} main() {printf("%ld\n",fun(5));} A)10 B)15 C)20 D)以上3个答案都不正确 (47)已知如下定义,则sizeof(a)的值是 struct{int i; char c; double a; } a; A)8 B)9 C)10 D)11 (48)已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a *f(int t1,int *t2,strcut a t3,struct a *t4) struct a p,*p1;int i; 则正确的函数调用语句为 A)&p=f(10,&i,p,p1); B)p1=f(i++,(int *)p1,p,&p); C)p=f(i+1,&(i+2),*p,p); D)f(i+1,&i,p,p); (49)下面程序段的输出为 #include "stdio.h" main() { printf("%d\n",12<<2);} A)0 B)47 C)48 D)24 (50)假定当前盘符下有两个文本文件,如下 文件名 a1.txt a2.txt 内容 123# 321# 则下面程序段执行后的结果为 #include "stdio.h" void fc(FILE *p) { char c; while((c=fgetc(p))!=′#′)putchar(c);} main() { FILE *fp; fp=fopen("a1.txt","r"); fc(fp); fclose(fp); fp=fopen("a2.txt","r"); fc(fp); fclose(fp); putchar(′\n′);} A)123321 B)123 C)321 D)以上答案都不正确
共4页: 上一页 [1] 2 [3] [4] 下一页
|