当前位置:首页 >> 学科竞赛 >> 第六届C语言预赛试题3

第六届C语言预赛试题3


单选题

[1]、C 语言中运算对象必须是整型的运算符是( )。 【答 【分 【选 A、/ B、++ C、% D、!= 案】C 数】1 分 项】

[2]、假设所有变量均为整型,则执行运算 x=(a=2,b=5,b++,a+b)后, x 的值是( )。 【答 【分 【选 A、7 B、8 C、6 D、2 案】B 数】1 分 项】
<

br />[3]、在下列字符序列中,属于 C 语言合法标识符的是( )。 【答 【分 【选 案】B 数】1 分 项】

A、P12.a B、stud_100 C、$water.1 D、88sum 注:只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。

[4]、在下列语句选项中,只有一个在功能上与其他三个语句不等价(其中 s1 和 s2 表示某个 C 语句),这 个不等价的语句是( )。

【答 【分 【选

案】D 数】1 分 项】 s2; s1; s2; s2;

A、if (a) s1; else B、if (!a) s2; else C、if (a!=0) D、if (a==0)

s1; else s1; else

[5]、若二维数组定义为 a[m][n],则在 a[i][j]之前的元素个数为( )。 【答 【分 【选 案】B 数】1 分 项】

A、j*m+i B、i*m+j C、i*m+j-1 D、j*m+i-1

[6]、以下程序的运行结果是( )。 void fun(int *n) { static int m=2; *n*=m-1; m+=2; } void main() { static int m=1; int i; for(i=1;i<4;i++) fun(&m); printf("%d\n",m);

} 【答 【分 【选 A、8 B、10 C、11 D、15 案】D 数】1 分 项】

[7]、设有定义:#define STR "12345";,则以下叙述正确的是( )。 【答 【分 【选 案】C 数】1 分 项】

A、宏名 STR 代替的是数值常量 12345 B、宏定义以分号结束,编译时会产生错误信息 C、宏名 STR 代替的是字符串"12345" D、宏名 STR 代替的是字符串常量"12345"

[8]、下列叙述不正确的是( )。 【答 【分 【选 案】B 数】1 分 项】

A、用 typedef 可以定义各种类型名,但不能用来定义变量 B、typedef 和#define 都是在预编译时处理的 C、用 typedef 只是将已存在的类型用一个新的标识符来代表 D、使用 typedef 有利于程序的通用和移植 注:#define 是在预编译时处理的,仅作为简单的字符串替换,typedef 是在编译阶段处理的。

[9]、若变量定义时未初始化,则其值不确定的是( )。 【答 【分 案】C 数】1 分

【选

项】

A、静态全局变量 B、静态局部变量 C、局部变量 D、全局变量

[10]、以下程序关于 sizeof()的运行结果是( )。 void main() { char a[]="movie",b[10]="movie"; printf("%d %d\n",sizeof(a),sizeof(b)); } 【答 【分 【选 案】C 数】1 分 项】

A、5 5 B、6 6 C、6 10 D、其他输出 注:sizeof()是运算符,strlen()是函数! sizeof()是计算括号中变量的类型所占的储存空间。strlen()是计算括号中指针所指地址为字符串起始地址到 第一个遇到的 NULL 结束的字符串长度。 Sizeof 分配空间,先已经计算好。strlen 实际长度,运行中得到。

[11]、若要用 fopen 函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文 件打开方式应是( )。 【答 【分 【选 案】C 数】1 分 项】

A、"ab+" B、"rb+"

C、"wb+" D、"ab"

[12]、设 char ch,str[4],*strp;,则下列赋值语句正确的是( )。 【答 【分 【选 案】C 数】1 分 项】

A、ch="CBA"; B、str="CBA"; C、strp="CBA"; D、*strp="CBA";

[13]、有以下函数:char *fun(char *p){return p;},该函数的返回值为( )。 【答 【分 【选 案】B 数】1 分 项】

A、不确定值 B、参数 p 中存放的地址值 C、一个临时存储单元的地址值 D、形参 p 自身的地址值

[14]、若有定义:const int i=10,j=20;int* const pi=(int*)&i;,则下列操作正确的为( )。 【答 【分 【选 案】A 数】1 分 项】

A、*pi=0; B、pi=&j; C、i=10;pi=&j; D、j=*pi;

[15]、有如下定义:

struct s1 { char a[3]; int num; }t={’a’,’b’,’x’,4},*p; p=&t; 则下列语句输出结果为 x 的是( )。 【答 【分 【选 案】A 数】1 分 项】

A、printf("%c\n",p->t.a[2]); B、printf("%c\n",(*p).a[2]); C、printf("%c\n",p->a[3]); D、printf("%c\n",(*p).t.a[2]);

[16]、以下程序将输出的字符是( )。 #include "stdio.h" main() { char c; char (*p)[3]; char s[2][3] ={’a’,’b’,’c’,’d’,’e’,’f’}; p=&s[0]; c=*(p[1]+1); printf("%c",c); } 【答 【分 【选 A、b 案】C 数】1 分 项】

B、d C、e D、f

[17]、以下关于枚举的程序,其运行结果是( )。 #include "stdio.h" main() { enum weekday { sun,mon,tue=5,wed,thu,fri,sat } a,b,c,d; a=sun; b=mon; c=tue; d=wed; printf("%d %d %d %d\n",a,b,c,d); } 【答 【分 【选 案】C 数】1 分 项】

A、 0 0 5 0 B、 1 2 5 4 C、 0 1 5 6 D、 0 1 5 3

[18]、设有程序段 char k;while (k>0) k++; printf("%d\n",k);则程序输出结果为( )。 【答 【分 【选 案】C 数】1 分 项】

A、-127 B、256

C、-128 D、128

[19]、函数调用语句:fseek(fp,-20L,2);的含义是( )。 【答 【分 【选 案】C 数】1 分 项】

A、将文件位置指针移到距离文件头 20 个字节处 B、将文件位置指针从当前位置向后移动 20 个字节 C、将文件位置指针从文件末尾处后退 20 个字节 D、将文件位置指针移到距离当前位置 20 个字节处

[20]、以下程序的输出结果为( )。 int a=2; int f(int *a) { return(*a)++; } void main() { int s=0; {int a=5; s+=f(&a); } s+=f(&a); printf("%d %d\n",a,s); } 【答 【分 【选 案】C 数】1 分 项】

A、2 7 B、2 10 C、3 7 D、3 11

[21]、以下程序输出的字符序列是( )。 #include "stdio.h" main(){ char a[]="language",*p; p=a; while(*p!=’u’){ printf("%c",*p-’u’+’U’);p++;} } 【答 【分 【选 案】C 数】1 分 项】

A、LANGUAGE B、language C、LANG D、LANGuage

[22]、以下程序的输出结果是( )。 #include <stdio.h> int main() { char str[100]="ABCDEFG", *p=str; int i; for(i = 0; *p != ’\0’; p++,i++); printf("%d\n",i); return 0; }

【答 【分 【选 A、7 B、8 C、99

案】A 数】1 分 项】

D、100

[23]、字符串"a\x44\\\nbcd\102a"的长度是( )。 【答 【分 【选 A、12 B、17 C、9 D、11 案】C 数】1 分 项】

[24]、以下程序的输出结果是( main( ) { int n; (n=6*4,n+6),n*2; printf("n=%d\n",n); } 【答 【分 【选 A、30 B、24 C、60 D、48 案】B 数】1 分 项】

)。

注:n=6*4,n+6,n*2; 逗号表达式,取值最后一个 但是只在 n=6*4 时赋值了,所以 n 等于 24 [25]、以下程序的输出结果是( )。 main( ) { int w=4,x=3,y=2,z=1; if(x>y&&!(z==w)) printf("%d\n",(w<x?w:z<y?z:x)); else printf("%d\n", (w>x?w:z>y?z:x)); } 【答 【分 【选 A、1 B、2 C、3 D、4 案】A 数】1 分 项】

[26]、以下程序的输出结果是( )。 main() {int a=1,b=0; switch(a) {case 1: switch (b) {case 0:printf("**0**");break; case 1:printf("**1**");break; } case 2:printf("**2**");break; } } 【答 【分 【选 案】B 数】1 分 项】

A、**0** B、**0****2** C、**0****1****2** D、有语法错误

[27]、以下是求两个正整数的最大公约数的函数 fun( ), 下划线处应填入的正确语句为( )。 int fun(m,n) int m,n; {int r; if(m<n) {r=m;m=n;n=r;} if(n= =0) return(m); do{ r=m%n; if (r!=0){ m=n;n=r;} } while (______); return(n); } 【答 【分 【选 案】A 数】1 分 项】

A、r!=0 B、r==0 C、n!=0 D、n==0

[28]、以下程序的输出结果是( )。 main() {int a=0,j; for(j=0;j<4;j++) {switch(j) {case 0:

case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf("%d\n",a); } 【答 【分 【选 A、20 B、13 C、10 D、36 案】D 数】1 分 项】

[29]、以下程序功能为输入 1 个正整数 n, 计算并输出 s 的前 n 项的和:s=1/2-2/3+3/4-4/5+ ??(-1) n/(n+1),下划线处应填入的正确语句为( #include "stdio.h" void main( ) { int k, flag=1, n; float s=0; scanf("%d", &n); for (k=1; k<=n; k++){ s=s+______; flag=-flag; } printf("sum=%f\n", s); } 【答 案】A )。

【分 【选

数】1 分 项】

A、1.0*k/(k+1)* flag B、flag*n/(n+1) C、-k/(k+1) D、1.0*k/(k+1)

[30]、以下程序的输出结果是( )。 main() { int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if (j%2) x++; } x++; } printf("x=%d\n",x); } 【答 【分 【选 案】B 数】1 分 项】 continue;

A、x=4 B、x=8 C、x=6 D、x=12

[31]、以下程序的输出结果是( )。

main( ) { char ch[2][5]={ "6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]> ’\0’;j+=2) s=10*s+p[i][j]- ’0’; printf("%d\n",s); } 【答 【分 【选 案】C 数】1 分 项】

A、69825 B、63825 C、6385 D、693825

[32]、下列程序片段的输出结果是( )。 printf("%d\n",strlen("ATS\n0l2\2\\")); 【答 【分 【选 A、l1 B、10 C、9 D、8 案】C 数】1 分 项】

[33]、在 C 程序中有如下语句:char *func(int x,int y); 它是( )。 【答 【分 案】C 数】1 分

【选

项】

A、对函数 func 的定义 B、对函数 func 的调用 C、对函数 func 的原型说明 D、不合法的

[34]、下列程序运行后的输出结果是( )。 fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf("%d\n", r); } 【答 【分 【选 A、3 B、6 C、8 D、12 案】D 数】1 分 项】

[35]、有如下程序,该程序的输出结果是( )。 long f(int n) { if(n>2) else if(n==2) else return(2); return(1); } return(f(n-2)+f(n-3));

main() { printf("%d\n",f(5)); } 【答 【分 【选 A、2 B、3 C、4 D、5 案】C 数】1 分 项】

[36]、在 C 语言中,函数的隐含存储类别是( )。 【答 【分 【选 案】C 数】1 分 项】

A、auto B、static C、extern D、无存储类别

[37]、以下程序的运行结果是( )。 #include "stdio.h" main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=NULL; q=p+5; printf("%d %d\n",*p,*q); } 【答 【分 案】B 数】1 分

【选

项】

A、运行后报错 B、6 11 C、6 12 D、5 5

[38]、以下选项中,能定义 s 为合法的结构体变量的是( )。 【答 【分 【选 案】B 数】1 分 项】

A、typedef struct abc { double a; char b[10]; }s; B、struct abc { double a; char b[10]; }s; C、struct ABC { double a; char b[10]; } ABC s; D、typedef ABC { double a; char b[10]; } ABC s;

[39]、以下程序运行后的输出结果是( )。

#include <stdio.h> struct NODE { int num; struct NODE *next; }; main() { struct NODE *p,*q,*r; p=(struct NODE*)malloc(sizeof(struct NODE)); q=(struct NODE*)malloc(sizeof(struct NODE)); r=(struct NODE*)malloc(sizeof(struct NODE)); p->num=10; q->num=20; r->num=30; p->next=q; q->next=r; printf("%d\n ",p->num+q->next->num); } 【答 【分 【选 A、10 B、20 C、30 D、40 案】D 数】1 分 项】

[40]、下列程序的输出结果是( )。 struct student { int a, b, c; }; main() { struct student stu[2]={{2,3,4},{5,6,7}}; int t; t=stu[0].a+stu[1].b%stu[0].c; printf("%d \n",t); } 【答 【分 案】C 数】1 分

【选 A、0 B、1 C、4 D、5

项】

[41]、若 a 是整型变量,表达式~(a^~a)等价于( )。 【答 【分 【选 A、~a B、1 C、0 D、2 案】C 数】1 分 项】

[42]、若以下程序所生成的可执行文件名为 filel.exe ,当输入命令行:FILE1 CHINA BEIJING SHANGHAI , 执行该程序时,程序的输出结果是( )。 main(int argc,char * argv []) { while(argc-->1) {++argv;printf("%s } 【答 【分 【选 案】A 数】1 分 项】 ",*argv);}

A、CHINA BEIJING SHANGHAI B、FILE1 C、C D、F B S C B CHINA BEIJING

[43]、下列选项中属于不正确的赋值语句的是( )。 【答 案】D

【分 【选

数】1 分 项】

A、t--; B、k=i==j; C、t1=t2=t3=3; D、t1=1,t2=2;

[44]、若有定义:int a,b;char x,y;并有以下输入数据: 12

13 AaBb(回车)

则能给 a 赋整数 12,给 b 赋整数 13,给 x 赋字符 a,给 y 赋字符 b 的正确程序段是( )。 【答 【分 【选 案】D 数】1 分 项】

A、scanf(“%d”,&a); scanf(“%d”,&b); x=getchar();y=getchar(); B、scanf(“%d%d %c %c”, &a, &b,&x,&y);

C、scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y); D、scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y);

[45]、在 PC16 位机环境下,以下程序的运行结果是( )。 main() { unsigned int a ; int b=-2; a=b; printf(“%u”,a);} 【答 【分 【选 A、-2 B、65534 案】B 数】1 分 项】

C、32768 D、-32768

[46]、语句 printf(“%d\n”,strlen(“xyz\t\xab\3\\”));的输出结果是( )。 【答 【分 【选 A、9 B、11 C、7 D、8 案】C 数】1 分 项】

[47]、语句:printf(“%d”,!0);的输出结果是( )。 【答 【分 【选 A、1 B、0 C、有语法错误 ,不能执行 D、!0 案】A 数】1 分 项】

[48]、当 a=2,b=3,c=4,d=5 时, 执行下面一段程序后 x 的值为( )。 if(a<b) if(c>d)x=1 ; else if(a>c) if(b<d)x=2 ; else else else 【答 x=3 ;

x=4 ; x=5 ; 案】C

【分 【选 A、2 B、3 C、4 D、5

数】1 分 项】

[49]、若 x 是 int 型变量,且有下面的程序片段: for(x=5;x<8;x++) printf((x/2)?(“**%d”):(“##%d”),x); 该程序片段的输出结果是( )。 【答 【分 【选 案】A 数】1 分 项】

A、**5**6**7 B、##5**6##7**8 C、**5##6**7 D、**5##6**7##8

[50]、有以下程序段: int a=0,b; do { scanf(“%d”,&a);b++;} while(a!= 10 || b<3); 此处 do-while 循环的结束条件是( )。 【答 【分 【选 案】B 数】1 分 项】

A、a 的值等于 10 并且 b 的值大于 3 B、a 的值等于 10 并且 b 的值大于等于 3 C、a 的值不等于 10 或者 b 的值小于 3 D、a 的值不等于 10 并且 b 的值大于等于 3

[51]、在下述程序中,if (i>j) 语句共执行的次数是( )。 main() { int i=0,j=14,k=2,s=0; for(;;) { i+= k ; if(i>j) { printf(“%d”,s); break ; } s+=i ; } } 【答 【分 【选 A、6 B、9 C、7 D、12 案】C 数】1 分 项】

[52]、设有数组定义:char array[ ]=“123456789”;则数组 array 所占的空间为( )。 【答 【分 【选 案】D 数】1 分 项】

A、7 个字节 B、8 个字节 C、9 个字节 D、10 个字节

[53]、有以下程序:

main() { char str[ ][8]={“Hello”,“Beijing”},*p=str; printf(“%s\n”,p+8);} 该程序运行后的输出结果是( )。 【答 【分 【选 案】B 数】1 分 项】

A、Hello B、Beijing C、jing D、ijing

[54]、下列函数调用语句中含有( )个参数。 func((f1,f2),(f2,f3),(f5,f6,f7)) 【答 【分 【选 A、3 B、5 C、6 D、7 案】A 数】1 分 项】

[55]、下列程序中函数 sort 的功能是对 a 数组中的数据进行由大到小的排序: void sort(int a[ ],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;} } main()

{ int aa[10]={1,2,3,4,5,6,7,8,9,10 },i; sort(&aa[2],5); for(i=0;i<10;i++)printf(“%d,”,aa[i]); printf(“\n”); } 该程序运行后的输出结果是( )。 【答 【分 【选 案】C 数】1 分 项】

A、1,2,3,4,5,6,7,8,9,10, B、10,9,8,7,6,5,4,3,2,1, C、1,2,7,6,5,4,3,8,9,10, D、1,2,10,9,8,7,6,5,4,3,

[56]、下列程序的运行结果是( )。 main() { char arr[2][4]; strcpy(arr,“abc”);strcpy(arr[1],“ABC”); printf(“%s\n”,arr);} 【答 【分 【选 案】B 数】1 分 项】

A、abc ABC B、abc C、ABC D、arr

[57]、程序中对 fun 函数有如下说明: int *fun(); 下面说法正确的是( )。

【答 【分 【选

案】C 数】1 分 项】

A、fun 函数是整型函数 B、fun 函数的返回值是整型数据 C、fun 函数的返回值是指向整型数据的指针类型 D、指针 fun 指向一个函数,该函数返回整型数据

[58]、下列程序的输出结果是( )。 main() { int k=4,m=5,n=7; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%d\n”,n); } 【答 【分 【选 A、5 B、7 C、20 D、21 案】C 数】1 分 项】

[59]、有如下程序: #define f(x)x*x main() { int i ; i=f(2+2)/(1+1); printf(“%d\n”,i);}

该程序执行后的输出结果是( )。 【答 【分 【选 A、21 B、7 C、8 D、4 解答:f(2+2)/(1+1)=2+2*2+2/(1+1)=2+4+1=7 案】B 数】1 分 项】

[60]、下列程序的输出结果是( )。 struct st { int x;int *y;}*p; int dt[4]={10,20,30,40}; struct main() { p=aa; printf(“%d ”,++(*p->y)); printf(“%d ”,(++p)->x); printf(“%d ”,++p->x); 【答 【分 【选 案】C 数】1 分 项】 st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};

A、20 20 10 B、21 60 50 C、11 60 61 D、31 70 60

多选题

[1]、已知 int b=2,下列表达式值为 1 的有( )。

【答 【分 【选

案】BCD 数】2 分 项】

A、~b&b B、~b||b C、b>>1 D、(b|1)&1

[2]、设有说明 int k=7,x=12;,则以下语句执行后,x 值为 0 的有( )。 【答 【分 【选 案】AC 数】2 分 项】

A、x %=(k%5); B、x %=(k-k%5); C、x %=k-k/5; D、x =(x%=k)-(k%=5);

[3]、已知有如下程序: void main() { int a[5]={1,2,3,4,5},*b; b=(int*)malloc(sizeof(int)); ____; printf("%d\n",*b); } 要使程序输出为 a[2]的值,则下列有关函数 fun 的定义和下划线处对应的 fun 调用语句正确的有( )。

【答
【分 【选

案】CD
数】2 分 项】

A、void fun(int*s,int*d) {*d=*(s+2);}

调用: fun(a,&b) B、void fun(int*s,int&d) {d=*(s+2);} 调用: fun(a,b) C、void fun(int*s,int &d) {d=*(s+2);} 调用: fun(a,*b) D、void fun(int*s,int **d) {**d=*(s+2);} 调用: fun(a,&b)

[4]、 函数欲实现交换 x 和 y 的值, 且通过正确调用返回交换结果, 下列选项中不能实现这一功能的有 ) ( 。 【答 【分 【选 案】BD 数】2 分 项】

A、funa(int *x, int *y) { int *p; *p = *x; *x = *y; *y = *p; } B、funb(int x, int y) { int t; t = x; x = y; y = t; } C、func(int *x, int *y) { int p; p = *x; *x = *y; *y = p; }

D、fund(int *x, int *y) { int *p; *x = *x + *y; *y = *x - *y; *x = *x - *y; }

[5]、关于以下运算,说法正确的有( )。 【答 【分 【选 案】BD 数】2 分 项】

A、设有宏定义"#define F(N) 2*N",则表达式 F(2+3)的值是 10 B、设 int x=4;,则执行语句 x += x *= x + 1;后,x 的值为 40 C、设 int a, b = 8;,执行 a = b<<2 + 1;后,a 的值是 33 D、设 int a[3][4], *p = a[1]; 该指针变量 p 指向的元素是 a[1][0]

[6]、已知有定义 static int b[5], a[2][3]={1,2,3,4,5,6};,则以下说法正确的有( )。 【答 【分 【选 案】AD 数】2 分 项】

A、b 中元素值为 0 B、b 中元素没有定义,值不确定 C、a[1][1]=4 D、a[1][1]=5

[7]、已知:int a=1,*p=&a;,则以下表达式值为 1 的有( )。 【答 【分 【选 A、*p B、p[0] C、*&a 案】ABC 数】2 分 项】

D、*&p

[8]、关于下列程序的输入与输出,下列说法正确的有( )。 #include <stdio.h> void main() { int m,n; printf("Enter m,n∶"); scanf("%d%d",&m,&n); while(m!=n) {while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); } 【答 【分 【选 案】CD 数】2 分 项】

A、输入 m>n 时,程序将输出 1 B、输入 m<n 时,程序将输出 1 C、输入 m,n 满足 m%n 等于 0,且 m>n 时,程序输出 n 的值 D、输入 m 或 n 为 0 时,程序将陷入死循环

[9]、若 x,y 均定义为 int 型,z 定义为 double 型,以下 scanf 函数调用语句合法的有( )。 【答 【分 【选 案】ABC 数】2 分 项】

A、scanf("%d%lx,%le",&x,&y,&z); B、scanf("%2d*%d%lf",&x,&y,&z); C、scanf("%x%*d%o",&x,&y);

D、scanf("%x%o%6.2f",&x,&y,&z); 注释:%m.nf 只能用于输出时指定精度。输入时只能用%f,不能用%m.nf 指定输入精度! [10]、以下叙述正确的有( )。 【答 【分 【选 案】ABCD 数】2 分 项】

A、在 C 程序中,逗号运算符的优先级最低 B、在 C 程序中,A 和 a 是两个不同的变量 C、若 a 和 b 类型相同,在执行了赋值 a=b 后,b 中的值不变 D、当键盘输入数据时,对于整型变量也可以能输入整型数值、实型数值和字符型数据等

[11]、break 语句的正确用法包括( )。 【答 【分 【选 案】AC 数】2 分 项】

A、无论在任何情况下,都中断程序的执行,终止整个循环 B、在多重循环中,只能退出最靠近的那一层循环语句 C、对于 go 语句和 if 语句构成的循环,不能使用 break 退出 D、可用于循环语句、switch 语句和其他语句

[12]、若已定义的函数有返回值,则以下关于该函数调用的叙述正确的有( )。 【答 【分 【选 案】ABCD 数】2 分 项】

A、函数调用可以作为独立的语句存在 B、函数调用可以作为一个函数的实参 C、函数调用可以出现在表达式中 D、函数可以直接调用函数本身

[13]、以下说法正确的有( )。 【答 案】AC

【分 【选

数】2 分 项】

A、C 语言程序总是从 main 函数开始执行 B、在 C 语言程序中,要调用函数必须在 main()函数中定义 C、C 语言程序由函数组成,且必须包含 main 函数 D、C 语言程序中的 main()函数必须放在程序的开始部分

[14]、下列符号串中,不属于 C 语言合法标识符的有( )。 【答 【分 【选 案】BCD 数】2 分 项】

A、_1_2_3 B、1-2-3 C、float D、12ab

[15]、下列判断不正确的有( )。 【答 【分 【选 案】ACD 数】2 分 项】

A、char *a=“china”;等价于 char *a;*a=“china”; B、char str[6]={“china”};等价于 char str[ ]= {“china”}; C、char s=“china”;等价于 char s;s=“china”; D、char c[4]=“abc”,d[4]=“abc”;等价于 char c[4]=d[4]=“abc”;

[16]、下面程序把数组元素中的最大值放入 a[0]中,则在 if 语句中条件表达式可以是( )。 main() { int a[10]={5,2,9,6,7,1,12,8,23,0},*p=a,i; for(i=0;i<10;i++,p++) if( ) *a=*p ;

printf(“%d”,*a);

} 【答 【分 【选 案】BD 数】2 分 项】

A、p>a B、*p>a[0] C、*p>*a[0] D、*p:>*a

[17]、设有如下定义: char *s[2]={“abcd”,“ABCD”}; char **p=s; 则下列说法正确的有( )。 【答 【分 【选 案】ACD 数】2 分 项】

A、s 数组元素的值分别是“abcd”和“ABCD”两个字符串的首地址 B、s 数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素 C、p 是指向指针数据的指针变量 D、p 中存放的是数组 s 的首地址

[18]、以下有关字符串赋值、赋初值的语句正确的有( )。 【答 【分 【选 案】BD 数】2 分 项】

A、char sz[2][40];sz[1]=“string1”; B、char *sz[2];sz[1]=“string2”; C、char sz[][40]=“string3”; D、char *sz[2]={“string1”,“string2”};

[19]、若已建立如图所示的单向链表:

则下列选项中能将 s 所指的结点插入到链表尾部,构成新的单项链表的语句组有( )。 【答 【分 【选 案】BCD 数】2 分 项】

A、a=a->link;s->link=a->link;a->link=s->link; B、a=(*a).link;(*s).link=(*a).link;(*a).link=s; C、s->link=NULL;a=(*a).link;(*a).link =s; D、s->link=a->link->link;a->link->link=s;

[20]、有以下程序段: #include "stdio.h" #include "string.h" main( ) { char ss[10]="1,2,3,4,5"; gets(ss); ___________ printf("%s\n",ss); } 执行程序时如果输入 ABC 则输出结果为 ABC6789,则下划线处的语句可以是( )。 【答 【分 【选 案】ACD 数】2 分 项】

A、strcat(ss,"6789");

B、strcpy(ss[3], "6789" ); C、strcpy(ss, "ABC6789" ); D、strcpy(&ss[3], "6789" );


更多相关文档:

第六届C语言预赛试题3

3页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 第六届C语言预赛试题3 隐藏>> 单选题 [1]、C 语言中运算对...

第六届C语言预赛试题

第六届C语言预赛试题_IT认证_资格考试/认证_教育专区。单选题 [1]、C 语言...【答 【分 【选 A、7 B、8 C、6 D、2 案】B 数】1 分项】 [3]、...

第六届C语言预赛试题及答案

第六届C语言预赛试题及答案 隐藏>> 一、单选题(共 60 小题,每题 1 分,共 60 分) 1. 执行下列程序中的输出语句后,x 的值是_A___。 (知识点 3.10...

蓝桥杯2015第六届C语言真题

蓝桥杯2015第六届C语言真题_学科竞赛_小学教育_教育...只填写缺少的内容,不要书写任何题 面已有代码或说明...1+2+3+...+10*11+12+...+27*28+29+......

C语言预赛试题

{ 第六届全国 ITAT 教育工程就业技能大赛预赛试题 C 语言程序设计 char a[3]; int num; }t={’a’,’b’,’x’,4},*p; p=&t; 则下列语句输出结果...

C语言预赛试题

对于浮点型变量 f,能实现对 f 中的值在小数点后第三位进行四舍五入的表达式...第五届C语言预赛试题2 23页 免费 第七届C语言预赛试题4 33页 免费 ©...

第六届ITATC语言比赛预赛试题,C比赛,ITAT

itaT第五届 C语言初赛试题... 27页 1财富值 ITAT第六届C语言在线模拟题.....A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1, C)1...

第七届C语言预赛试题4

专题推荐 第五届C语言预赛试题2 第六届C语言预赛试题31/2 相关文档推荐...第七届全国信息技术应用水平大赛模拟题 C 语言程序设计注:试卷满分 150 分,...

第三届蓝桥杯预赛试题 c 本科(试题+答案)

第三届蓝桥杯预赛试题 c 本科(试题+答案)_财会/金融考试_资格考试/认证_教育专区。试题是第三届蓝桥杯的预赛试题 C语言组 答案已经经过本人编写与运行 全部符合...

C语言预赛试题

C语言预赛试题_计算机软件及应用_IT/计算机_专业资料。全国信息技术大赛C语言试题...【答 【分 【选 A、7 B、8 C、6 D、2 案】B 数】1 分项】 [3]、...
更多相关标签:
33届物理竞赛预赛试题 | 32届物理竞赛预赛试题 | 2016物理竞赛预赛试题 | 2015物理竞赛预赛试题 | 高中物理竞赛预赛试题 | 蓝桥杯预赛试题 | 物理竞赛预赛试题 | office预赛试题 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com