川农《C语言(专科)》在线作业
试卷总分:100
单选题
一、单选题(共 20 道试题,共 100 分。)
V
1. 以下程序运行后,输出结果是( )main(){ char *s="abcde";s+=2;printf("%ld ",s); }
A. cde字符c的ASCII码值
B. 字符c的地址
C. 出错
满分:5 分
2. 在宏定义 #define PI 3.14159中,用宏名PI代替一个( )
A. 常量
B. 单精度数
C. 双精度数
D. 字符串
此题选: D 满分:5 分
3. 运行以下程序后,如果从键盘上输入 china# 回车 ,则输出结果为( )#include stdio,h main(){ int v1=0,v2=0;char ch;while((ch=getchar())!=#)switch(ch){ case a;case h;default; v1++;case 0; v2++;}printf("%d,%d ",v1,v2);}
A. 2,0
B. 5,0
C. 5,5
D. 2,5
满分:5 分
4. 函数调用:strcat(strcpy(str1,str2),str3)的功能是( )
A. 将串str1复制到串str2中后再连接到串str3之后
B. 将串str1连接到串str2之后再复制到串str3之后
C. 将串str2复制到串str1中后再将串str3连接到串str1之后
D. 将串str2连接到串str1之后再将串str1复制到串str3中
满分:5 分
5. 设有如下程序 :#include stdio.h main(){ int **k, *j, i=100;j= i; k= j;printf("%d ", **k);} 上面程序的输出结果是( )
A. 运行错误
B. 100
C. i的地址
D. j的地址
满分:5 分
6. 下列程序执行后输出的结果是( )#include 〈stdio.h〉f(int a){ int b=0;static c=3: a=c+ +,b+ +;returu(a); }main( ){ int a=2,i,k;for(i=0;i 2;i+ +) k=f(a+ +);printf("%d ",k);}
A. 3
B. 0
C. 5
D. 4
此题选: D 满分:5 分
7. 请读程序#define ADD(x) x+x main(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf("sum=%d", sum);}上面程序的运行结果是( )
A. sum=9
B. sum=10
C. sum=12
D. sum=18
满分:5 分
8. 若有宏定义如下#define X 5 #define Y X+1 #define Z Y * X / 2则执行以下printf语句后,输出结果是( )int a; a=Y
rintf("%d ", Z)
rintf("%d ", - - a);
A. 7 6
B. 12 6
C. 12 5
D. 7 5
此题选: D 满分:5 分
9. 设有如下定义:char *aa[2]={"abcd","ABCD"};则以下就法中正确的是( )
A. aa数组成元素的值分别是"abcd"和"ABCD"
B. aa是指针变量,它指向含有两个数组元素的字符型一维数组
C. aa数组的两个元素分别存放的是含有4个字符的字符串的首地址
D. aa数组的两个元素中各自存放了字符a和A的地址
满分:5 分
10. 请选出可用作C语言用户标识符的一组标识符( )
A. void define WORD
B. a3_b3 _123 IF
C. For -abc Case
D. 2a DO sizeof
满分:5 分
11. 以下程序的输出结果是( )main(){ int x=10,y=10; printf("%d %d ",x--,--y);}
A. 10 10
B. 9 9
C. 9 10
D. 10 9
此题选: D 满分:5 分
12. 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d ”,(++x,y++),z+2);}运行该程序的输出结果是( )
A. 3 4
B. 4 2
C. 4 3
D. 3 3
此题选: D 满分:5 分
13. C语言的编译系统对宏命令的处理是( )
A. 在程序运行时进行的
B. 在程序连接时进行的
C. 和C程序中的其它语句同时进行编译的
D. 在对源程序中其它成份正式编译之前进行的
此题选: D 满分:5 分
14. 有以下程序 int fun(int x , int y , int *cp , int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b, c, d);printf("%d,%d ", c, d);}输出结果是( )
A. 50,30
B. 30,50
C. 80,-20
D. 80,20
满分:5 分
15. 以下程序运行后,如果从键盘上输入book 回车 book 空格 回车 则输出的结果是( )#include string,h main(){ char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }
A. *8
B.
C. 9
D. #6
E. *9
满分:5 分
16. 给出以下定义char x[ ]="abcdefg";char y[ ]={a,b,c,d,e,f,g};则正确的叙述为( )
A. 数组X和数组Y等价
B. 数组x和数组Y的长度相同
C. 数组X的长度大于数组Y的长度
D. 数组X的长度小于数组Y的长度
满分:5 分
17. 以下程序运行后,如果从键盘上输入book 回车 book 空格 回车 则输出的结果是( )#include string,h main(){ char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }
A. *8
B.
C. 9
D. #6
E. *9
满分:5 分
18. 以下程序的输出结果是( )#include main( ){ char *p1,*p2,str[50]="ABCDEFG";p1="abcd"; p2="efgh";strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf("%s",str);}
A. A)AfghdEFG
B. Abfhd
C. Afghd
D. Afgd
此题选: D 满分:5 分
19. 设有以下宏定义#define N 3 #define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为 ( )
A. 出错
B. 42
C. 48
D. 54
满分:5 分
20. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )
A. 1
B. 2
C. 2.0
D. 2.5
满分:5 分
试卷总分:100
单选题
一、单选题(共 20 道试题,共 100 分。)
V
1. 以下程序运行后,输出结果是( )main(){ char *s="abcde";s+=2;printf("%ld ",s); }
A. cde字符c的ASCII码值
B. 字符c的地址
C. 出错
满分:5 分
2. 在宏定义 #define PI 3.14159中,用宏名PI代替一个( )
A. 常量
B. 单精度数
C. 双精度数
D. 字符串
此题选: D 满分:5 分
3. 运行以下程序后,如果从键盘上输入 china# 回车 ,则输出结果为( )#include stdio,h main(){ int v1=0,v2=0;char ch;while((ch=getchar())!=#)switch(ch){ case a;case h;default; v1++;case 0; v2++;}printf("%d,%d ",v1,v2);}
A. 2,0
B. 5,0
C. 5,5
D. 2,5
满分:5 分
4. 函数调用:strcat(strcpy(str1,str2),str3)的功能是( )
A. 将串str1复制到串str2中后再连接到串str3之后
B. 将串str1连接到串str2之后再复制到串str3之后
C. 将串str2复制到串str1中后再将串str3连接到串str1之后
D. 将串str2连接到串str1之后再将串str1复制到串str3中
满分:5 分
5. 设有如下程序 :#include stdio.h main(){ int **k, *j, i=100;j= i; k= j;printf("%d ", **k);} 上面程序的输出结果是( )
A. 运行错误
B. 100
C. i的地址
D. j的地址
满分:5 分
6. 下列程序执行后输出的结果是( )#include 〈stdio.h〉f(int a){ int b=0;static c=3: a=c+ +,b+ +;returu(a); }main( ){ int a=2,i,k;for(i=0;i 2;i+ +) k=f(a+ +);printf("%d ",k);}
A. 3
B. 0
C. 5
D. 4
此题选: D 满分:5 分
7. 请读程序#define ADD(x) x+x main(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf("sum=%d", sum);}上面程序的运行结果是( )
A. sum=9
B. sum=10
C. sum=12
D. sum=18
满分:5 分
8. 若有宏定义如下#define X 5 #define Y X+1 #define Z Y * X / 2则执行以下printf语句后,输出结果是( )int a; a=Y


A. 7 6
B. 12 6
C. 12 5
D. 7 5
此题选: D 满分:5 分
9. 设有如下定义:char *aa[2]={"abcd","ABCD"};则以下就法中正确的是( )
A. aa数组成元素的值分别是"abcd"和"ABCD"
B. aa是指针变量,它指向含有两个数组元素的字符型一维数组
C. aa数组的两个元素分别存放的是含有4个字符的字符串的首地址
D. aa数组的两个元素中各自存放了字符a和A的地址
满分:5 分
10. 请选出可用作C语言用户标识符的一组标识符( )
A. void define WORD
B. a3_b3 _123 IF
C. For -abc Case
D. 2a DO sizeof
满分:5 分
11. 以下程序的输出结果是( )main(){ int x=10,y=10; printf("%d %d ",x--,--y);}
A. 10 10
B. 9 9
C. 9 10
D. 10 9
此题选: D 满分:5 分
12. 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d ”,(++x,y++),z+2);}运行该程序的输出结果是( )
A. 3 4
B. 4 2
C. 4 3
D. 3 3
此题选: D 满分:5 分
13. C语言的编译系统对宏命令的处理是( )
A. 在程序运行时进行的
B. 在程序连接时进行的
C. 和C程序中的其它语句同时进行编译的
D. 在对源程序中其它成份正式编译之前进行的
此题选: D 满分:5 分
14. 有以下程序 int fun(int x , int y , int *cp , int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b, c, d);printf("%d,%d ", c, d);}输出结果是( )
A. 50,30
B. 30,50
C. 80,-20
D. 80,20
满分:5 分
15. 以下程序运行后,如果从键盘上输入book 回车 book 空格 回车 则输出的结果是( )#include string,h main(){ char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }
A. *8
B.
C. 9
D. #6
E. *9
满分:5 分
16. 给出以下定义char x[ ]="abcdefg";char y[ ]={a,b,c,d,e,f,g};则正确的叙述为( )
A. 数组X和数组Y等价
B. 数组x和数组Y的长度相同
C. 数组X的长度大于数组Y的长度
D. 数组X的长度小于数组Y的长度
满分:5 分
17. 以下程序运行后,如果从键盘上输入book 回车 book 空格 回车 则输出的结果是( )#include string,h main(){ char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }
A. *8
B.
C. 9
D. #6
E. *9
满分:5 分
18. 以下程序的输出结果是( )#include main( ){ char *p1,*p2,str[50]="ABCDEFG";p1="abcd"; p2="efgh";strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf("%s",str);}
A. A)AfghdEFG
B. Abfhd
C. Afghd
D. Afgd
此题选: D 满分:5 分
19. 设有以下宏定义#define N 3 #define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为 ( )
A. 出错
B. 42
C. 48
D. 54
满分:5 分
20. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )
A. 1
B. 2
C. 2.0
D. 2.5
满分:5 分
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!