湖南省对口升学计算机专业综合试卷试题
更新时间:2023-09-21 09:03:01 阅读量: 工程科技 文档下载
1
2014年下期12级对口升学计算机专业综合试卷(C语言)第三次月考试题
一、单选题(每题4分,共120分)
1、有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是 A)gets(&s[0]); B)scanf(“%s”,s+1); C)gets(s); D)scanf(“%s”,s[1]); 2、有以下程序 #include
printf(”%c,%c,”,*c,d); }
main()
{char b=?a?,a=?A?;
fun(&b,a); printf(”%c,%c\\n”,b,a);} 程序运行后的输出结果是
A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B 3、若有定义int(*pt)[3];,则下列说法正确的是 A)定义了基类型为int的三个指针变量
B)定义了基类型为int的具有三个元素的指针数组pt。 C)定义了一个名为*pt、具有三个元素的整型数组
D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组 4、设有定义double a[10],*s=a;,一下能够代表数组元素a[3]的是 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3 5、有以下程序 #include
{ int a[5]={1,2,3,4,5}, b[5]={0,2,1,3,0},is=0 for(i=0;i<5;i++) s=s+a[b[i]]; printf(\
程序运行后的输出结果是
A) 6 B) 10 C) 11 D)15 6、若有以下定义和语句
char sl[10]= \
printf(\则输出结果是
A) 5 5 B)10 5 C)10 7 D)5 8 7、有以下程序 #include
void fun(int *x,int i) {*x=*(x+i);} main()
{ int a[N]={1,2,3,4,5,6,7,8},i;
1
2
fun(a,2);
for(i=0; i 程序运行后的输出结果是 A)1 3 1 3 B) 2 2 3 4 C) 3 2 3 4 D)1 2 3 4 8、有以下程序 #include {int a[4]={1,2,3,4},s; s=f{a,4}; printf(”%d\\n”,s); } int f(int t[], int n) { if (n>0) return t[n-1]+f(t,n-1); else return 0; } 程序运行后的输出结果是 A)4 B)10 C)14 D)6 9、有以下程序 #include {static int x=1; x*=2; return x;} main() {int I,s=1; for (i=1;i<=2;i++) s=fun(); printf(”%d\\n”,s);} 程序运行后的输出结果是 A)0 B)1 C) 4 D)8 10、下面程序 #include { char *a=\ fun(a); printf(\ } fun ( char *s) { char t; if(*s) {t = *s++; fun(s); } if(t !='\\0') putchar( t ); } 输出为( ). A) 1234 B) 4321 C)1324 D) 4231 2 3 11、对于类型相同的指针变量,不能进行哪种运算( )? A) - B) + C) = D) > 12若有以下说明,则正确的赋值表达式是( )。 int x,*p; A) p=&x B) p=x C) *p=&x D) *p=*x 13、有如下语句int a=10,b=20,*p1,*p2;p1=&a;p2=&b;若要实现p1,p2均指向b,可选用的赋值语句是( )。 A) *p1=*p2; B) p1=p2; C) p1=*p2; D) *p1=p2; 14、以下程序的运行结果是( )。 sub(int x,int y,int *z) {*z=y-x;} main() {int a,b,c; sub(10,5,&a); sub(7,a,&b);sub(a,b,&c); printf(\ A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7 15、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。 main() {int *p,*q,a,b; p=&a; printf(\?? } A) *p表示的是指针变量p的地址 B) *p表示的是变量a的值,而不是变量a的地址 C) *p表示的是指针变量p的值 D) *p只能用来说明p是一个指针变量。 16、变量的指针,其含义是指该变量的( )。 A) 值 B) 地址 C)名 D)一个标志 17、若有说明:int *p,m=5,n; 以下正确的程序段是( )。 A) p=&n; scanf(\ B)p=&n; scanf(\ C)scanf(\ *p=n D)p=&n; *p=m; 18、下面程序段运行结果是( )。 char *p=\int a=111,b=10,c; c=a%b; p+=3; printf(p,c,a,b); A)1,a=111,b=10 B)a=1,b=111 C)a=111,b=10 D) 以上结果都不对。 19、有以下程序 #include main() { char p[20]={?a?,?b?,?c?,?d?}, q[]=”abc”, r[]=”abcde”; strcat(p,r); strcpy(p+strlen(q),q); printf(“%d\\n”,strlen(p));} 程序运行后的输出结果是 A)9 B) 6 C) 11 D) 7 20、执行下面程序段后,ab的值为( )。 int *var,ab; ab=100;var=&ab; ab=*var+10; A)120 B)110 C)100 D)90 3 4 21、若有定义:int x,*pb;则正确的赋值表达式是( )。 A)pb=&x B)pb=x C)*pb=&x D)*pb=*x 22、下面程序运行结果是( )。 void fun(int x) { printf(\ main() {int a=25;fun(&a);} A)23 B)24 C)25 D)26 23、对于两个类型相同的指针变量,不能进行( )运算? A. + B. - C. = D. == 24以下程序的输出结果是( )。 a. 4 b. 6 c. 8 d. 10 main( ) { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(\ 25、若有int a[10]={1,2,3,4,5,,6,7,8,9,10};*p=a;则数值为9的表达式是( )。 A. *p+9 B. *(p+8) C. *p+=9 D. p+8 26、若有以下说明和语句,且0≤i<5,则下面哪个答案( )是对数组元素地址的正确表示? float a[]={1.6,3.0,-5.4,7.8,94.0},*p,i;p=a; A) &(p+i) B) a++ C) &p D) &p[i] 27、若有以下说明, 则a[*(a+a[3])]的值为( )。 int a[]={8,1,2,5,0,4,7,6,3,9}; A) 8 B) 3 C) 0 D) 不合法 28、以下程序运行后,输出结果是( )。 main( ) {int a[10]={19,23,44,17,37,28,49,36},*p; p=a; printf(\ A) 44 B) 17 C) 49 D) 运行时出错,无定值 29、有以下程序 #include { char *a[ ]={“abcd”,”ef”,”gh”,”ijk”};int I; for (i=0;i<4;i++) printf(“%c”,*a);} 程序运行后输出的结果是 A)aegi B)dfhk C)abcd D)abcdefghijk 30、若有以下定义 int x[10],*pt=x; 则对x数组元素的正确应用是 A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+3 4 5 二、读程序写运行结果(每题5分,共50分) 1、以下程序的输出结果为______________________ # include { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf (\ 2、有如下程序该程序的输出结果是______________________ main() { int a=2,b=-1,c=2; if(a if(b<0) c=0; else c++; printf(\ 3、以下程序的输出结果是______________________ main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf(\ 4、下列程序的结果为______________________ change(int x,int y) {int t; t=x;x=y;y=t; } main() { int x=2,y=3; change(x,y); printf(\ 5、下列程序运行后的输出结果是______________________ #include void fun( int *a,int *b) {int *c; c=a;a=b;b=c; } main() {int x=3,y-5,*P=&x,*q=&y; fun(p,q);printf(“%d,%d,”,*p,*q); fun(&x,&y);printf(“%d,%d\\n”,*p,*q); } 6、下列程序运行后的输出结果是______________________ #include viod f(int *p,int *q ); main() { int m=1,n=2,*r=&m; 5
正在阅读:
湖南省对口升学计算机专业综合试卷试题09-21
夹叙夹议完形填空专练(附详细答案解析)(中考必备)05-29
工作计划档02-27
关于进一步规范文件格式及发文流程的通知11-15
用英语写通知的格式02-23
双网卡同时上网案例04-14
IPE岗位评价方法03-17
关于召开全区小学数学专题研讨会的通知-六横中心小学03-13
文昌街66号施工方案12-20
- 中小学班主任工作技能训练教程
- 青岛版四年级下册小数的意义和性质整理复习教案(经典版)
- (普丽萍)六年级语文毕业升学检测试卷 2
- 《Java EE程序设计》1
- 10.杨氏之子导学案
- 计算机系统结构网上作业参考答案
- 四年级下册思品试卷
- 柠檬红茶茶艺解说词
- 杜仲胶医用可塑性夹板和杜仲胶残疾人假肢套开发项目建议书
- 2009年加油站操作员初级模拟试题一
- (new)飞机票网上预订系统概要设计说明书
- 绝望主妇第一季第十七集台词
- 思修与法基考试A卷
- 初级瓦工证考试试卷试题
- 1211525194139《基础会计》习题集
- 台区安装工艺标准 - 图文
- 一校一品牌一生双爱好总结
- 转发市委组织部《关于进一步加强全市两新组织党建信息工作的通知》
- 医用直线加速器项目要求 - 图文
- HC11-16-RS232 RS485串口继电器控制模块使用说明书