百年教育职业培训中心 百年教育学习服务平台
题库试卷

【百年教育职业培训中心】C语言程序设计-章节资料考试资料-福建师范大学

来源: 更新时间:

报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!答案:微信搜索【渝粤教育】公众号绪论1、【单选题】以下说法正确的是()A、C语言程序总是从第一个的

报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!

答案:微信搜索【渝粤教育】公众号



绪论

1、【单选题】以下说法正确的是( )

A、C语言程序总是从第一个的函数开始执行

B、在C语言程序中,要调用函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分


2、【单选题】一个C程序可以包含任意多个不同名的函数,但有且仅有一个( ).一个C程序总是从此开始执行。

A、过程

B、主函数

C、函数

D、include


3、【单选题】C语言规定,在一个源程序中,main函数的位置( )

A、必须在最开始

B、必须在系统调用的库函数的后面

C、 可以任意

D、 必须在最后


4、【单选题】在C语言中,每个语句和数据定义是用( )结束。

A、句号

B、逗号

C、分号

D、括号


5、【单选题】下列叙述中错误的是( )

A、C语言是一种结构化程序设计语言

B、结构化程序由顺序、分支、循环3种基本结构组成

C、使用3种基本结构构成的程序只能解决简单问题

D、结构化程序设计提倡模块化的设计方法


6、【单选题】关于C程序的叙述正确的是( )

A、从//开始的程序都是注释

B、/* */只能写在一行,其中的内容为注释

C、一条语句可以写成多行,多条语句也可以写在一行

D、一行只能写一条语句


7、【单选题】( )是C程序的基本构成单位。

A、函数

B、函数和过程

C、文本

D、语句


8、【单选题】在C语言中,一个语句( )为结束标志。

A、句号

B、逗号

C、分号

D、括号


变量与常量

1、【单选题】下列标识符中,不合法的用户标识符为( )

A、month

B、_5xy

C、int

D、your_name


运算符

1、【填空题】若a, b均为int类型变量,则执行以下程序段后的输出是:___________x=15; y=5; printf(%d\n,x%=(y%2));

A、


逻辑运算符

1、【填空题】设i, j, k是int类型变量,且i=3, j=4, k=5,则表达式 i j运算结果是_______, !((ij)!k||1) 运算结果是________

A、


数据类型1

1、【单选题】下列选项中,合法的一组C语言数值常量是( )

A、028 5e- 3.0xf

B、12.0xa23 4.5e0

C、177 4el.5 0abc

D、0x8A 10,000 3.e


2、【单选题】在C语言中,下列类型属于基本类型的是( )

A、整型、实型、字符型

B、空类型、枚举型

C、结构体类型、实型

D、数组类型、实型


3、【单选题】下列字符串不属于标识符的是( )

A、_above

B、

C、 dfg

D、_cnd

E、all


4、【单选题】10+'a'+ 1.5-567.345/'b’的结果是( )型数据。

A、long

B、double

C、int

D、unsigned float


5、【单选题】C语言中,运算对象必须是整型数的运算符是( )

A、%

B、\

C、%和\

D、* *


6、【单选题】若num、a、b、c都是int变量,则执行表达式 num=(a=4,b=16,c=32)后num的值是( )

A、4

B、16

C、32

D、0


7、【单选题】判断char型变量c1是否为大写字母的正确表达式是( )。

A、'A'<=c1<='Z'

B、(c1>='A')&(c1<='Z')

C、(c1>='A')&&(c1<='Z')

D、('A'<=c1)AND('Z'>=c1)


8、【单选题】若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( )。

A、num%2==1

B、!(num%2==0)

C、!(num%2)

D、num%2


9、【单选题】(  )是C语言提供的合法的数据类型关键字。

A、Boolean

B、signed

C、integer

D、Char


10、【单选题】不正确的字符串常量是(  )。

A、'abc'

B、"12'12"

C、"\0"

D、" "


11、【填空题】在C语言中,程序运行期间,其值不能被改变的量叫__ ____

A、


12、【填空题】在C语言中,用来标识变量名、符号变量名,函数名,数组名,类型名,文件名的有效字符序列称为__ ____

A、


13、【填空题】若有说明语句:char ch1='\065',则ch1中包含字符个数_______

A、


14、【填空题】在C语言中,char型数据在内存中的存储形式是_________

A、


15、【填空题】逻辑运算符的运算对象的数据类型__________

A、


C语言的输入和输出

1、【填空题】程序如下,下叙述中正确的是______。#includestdio.hint main(){ char a1='M', a2='m'; printf(%c\n,(a1, a2)); }

A、


2、【填空题】以下程序运行后输出的结果是________。#includestdio.hint main(){ int a,b,d=25; a=d/10%9; b=a+-1; printf(%d,%d\n,a,b);}

A、


数据的输入输出

1、【单选题】下列程序打印输出C Language Programming#includestdio.hint main(){printf(C Language Programming\n);return 0;}程序的运行结果是:

A、程序编译出错

B、"C Language Programming\n"

C、C, Language, Programming

D、C Language Programming


2、【单选题】要输出结果4*4=16,下列语句不正确的是( )

A、printf("4*4=16\n");

B、printf("4*4=%d",16);

C、printf("4*4=%d",4*4);

D、printf("4*4=%d,16");


3、【单选题】已知在ASCH 字符集中、数字0的字号为48,下面程序的输出结果为( )。#include stdio.hint main( ){ char x, y; x='0'; y='9'; printf(%d,%d\n,x,y);}

A、因输出格式不合法,输出错误信息

B、48,57

C、0,9

D、48.58


4、【单选题】以下程序的运行结果是( )#include stdio.hint main( ){ int c,x,y; x= l; y= 1; c= 0; c=x++||y++; printf(\n%d%d%d\n,x,y,c);}

A、110

B、211

C、011

D、001


5、【单选题】以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是( )。#include stdio.hint main() { int r; float s; scanf(%d,r); s= *p*r*r; printf(s=%f\n,s); }

A、注释语句书写位置错误

B、存放圆半径的变量r不应该定义为整型

C、s=*p*r*r;语句中使用了非法的表达式

D、输出语句中格式描述符非法


if语句

1、【填空题】以下程序的输出结果是:________#include stdio.hint main(){ float x=2.0,y; if(x0.0)y=0.0; else if (x10.0)y=1.0/x; else y= 1.0; printf(%f\n, y);}

A、


if的分支结构

1、【填空题】若从键盘输入58,则以下程序输出的结果是__________#includestdio.hint main(){int a;scanf(%d,a);if(a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);}

A、


2、【填空题】以下程序输出:_____#includestdio.hint main(){int x1=3, x2=0, x3=0;if( x1 = x2+x3) printf(*****);elseprintf(#####);}

A、


switch语句

1、【单选题】假定等级和分数有以下对应关系:等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是_____.

A、switch (grade) { case 'A':printf("85--100\n"); case 'B':printf("60--84\n"); case 'C':printf("60以下\n"); default:printf("等级错误!\n"); }

B、 switch (grade) { case 'A':printf("85--100\n");break; case 'B':printf("60--84\n"); case 'C':printf("60以下\n"); default:printf(" 等级错误!\n"); }

C、switch (grade) { case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break; case 'C':printf("60以下\n"); default:printf("等级错误!\n"); }

D、switch (grade) { case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break; case 'C':printf("60以下 \n");break; default:printf("等级错误!\n"); }


2、【填空题】在执行下述程序时,若从键盘输入字母H,则输出结果是( )。#include stdio.hint main(){ char ch; ch=getchar(); switch(ch) { case 'H':printf(Hello! \n); case 'G':printf(Good morning! \n); }}

A、


选择结构作业

选择结构

1、【单选题】以下程序的输出结果是:( )#include stdio.hint main(){ float x=2.0,y; if(x0.0) y=0.0; else if (x10.0) y=1.0/x; else y= 1.0; printf(%f\n, y);}

A、0.500000

B、1.000000

C、0.000000

D、0.250000


2、【单选题】下列程序的输出结果是( )。 #includestdio.hint main(){ int a=5,b=4,c=3,d=2; if(abc) printf(%d\n,d); else if(c-1=d) printf(%d\n,d+1); else printf(%d\n,d+2); }

A、2

B、3

C、4

D、编译时有错且无结果


3、【单选题】以下程序运行时,若从键盘输入9,则输出结果是( )。#includestdio.hint main(){ int a=1; scanf(%d,a); if(a++9) printf(%d\n,a); else printf(%d\n,a);}

A、10

B、11

C、9

D、8


4、【单选题】请阅读以下程序:#includestdio.hint main(){ int a=5,b=0,c=1;if(a=b+c)printf(***\n);else printf($$$\n);} 以上程序( )

A、有语法错不能通过编译

B、可以通过编译但不能通过连接

C、输出***

D、输出$$$


5、【单选题】若int k=8;则执行下列程序后,变量k的正确结果是____  #includestdio.hint main(){ int k=8; switch(k) { case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1; } printf(%d\n,k);}

A、12

B、11

C、10

D、9


6、【单选题】现有如下程序段,此程序段编译有错误,则程序段的错误出在( )#includestdio.hint main(){ int a=30,b=40,c=50,d; d=a30 ? b:c; switch(d) { case a:printf(%d,,a); case b:printf(%d,,b); case c:printf(%d,,c); default:printf(#);}}

A、default:printf("

B、");这个语句

C、d=a>30?b:c;这个语句

D、case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句

E、switch(d)这个语句


7、【单选题】设变量x和y均已正确定义并赋值,则以下if语句中,在编译时将产生错误信息的是( )。

A、if(x++);

B、if(x>y&&y!=0) ;

C、if(x>0) x-- else y++;

D、if(y<0){ ; } else x++;


8、【单选题】设 int x=1, y=1; 表达式( !x || y--) 的值是 ( )

A、0

B、1

C、2

D、-1


9、【填空题】在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用_____表示逻辑表达式值为“真”,又用_____表示逻辑表达式值为“假”。 

A、


10、【填空题】执行以下程序段后,输出结果是______。#includestdio.hint main(){int a=3,b=5,c=7;if(ab) a=b;c=a;if(c!=a) c=b;printf(%d, %d, %d\n,a,b,c);}

A、


11、【填空题】若执行下述程序时,若从键盘输入6和8时,结果为_______ #includestdio.hint main(){ int a,b,s; scanf(%d%d,a,b); s=a; if (a = b) s*=s; printf(%d,s);}

A、


for语句

1、【填空题】执行语句 for(i=0; i10; i++) ; 结束后,i的值是__________

A、


2、【填空题】阅读以下程序,其运行结果是______。#include stdio.hint main(){ int i; for(i='a';i'f';i++,i++) printf(%c,i-'a'+'A'); printf(\n); return 0;}

A、


while语句

1、【填空题】阅读以下程序,输出结果是______。#includestdio.hint main() { int n=9; while(n6){ n--; printf(%d,n); } }

A、


do...while

1、【填空题】以下程序段的运行结果是______。#includestdio.hint main(){int i=0;do printf(%d,,i); while(i++); printf(%d\n,i);}

A、


循环嵌套

1、【填空题】读以下程序,printf会被执行几次?__________#includestdio.hint main() { int i,j; for(i=1;i4;i++) {for(j=i;j4;j++) printf(%d*%d=%d ,i,j,i*j); } }

A、


breakcontinue语句

1、【填空题】以下程序运行后的输出结果是_______。#includestdio.hint main() { int i,j,x=0;for(i=0;i2;i++) { for(j=0;j2;j++){ if(j%2) continue; x++; } x++; } printf(x=%d\n,x); }

A、


循环结构作业

循环结构

1、【单选题】以下程序运行后的输出结果是( )。#includestdio.hint main() { int y=10; while(y--) ;printf(y=%d\n,y); }

A、y=0

B、y=-1

C、y=1

D、while构成无限循环


2、【单选题】语句for(表达式1;;表达式3)等价于( )

A、for(表达式1;0;表达式3)

B、for(表达式1;1;表达式3)

C、for(表达式1;表达式1;表达式3)

D、for(表达式1;表达式3;表达式3)


3、【单选题】下列程序段中是死循环的是( )

A、int n=1; while(!n) n++;

B、int n=1; do{n--;} while(n);

C、int n=1; do{ n+1; } while(n)

D、for(n=5;n<1;) ;


4、【单选题】下面能正确计算1*2*3*•••*10的程序段是( )

A、do{ k=1;n=1;n=n*k;k++; }while(k<=10);

B、do{ k=1;n=0;n=n*k;k++; }while(k<=10);

C、k=1;n=1; do{ n=n*k;k++; }while(k<=10);

D、k=1;n=0; do{ n=n*k;k++; }while(k<=10);


5、【单选题】以下程序段描述正确的是( )for(m=1;m=100;m++) { scanf(%d,y); if(y0) continue; printf(%3d,m); }

A、当y<0时整个循环结束

B、y>=0时什么也不输出

C、printf函数永远也不执行

D、最多允许输出100个非负整数


6、【单选题】以下不会构成无限循环的语句或语句组是( )。

A、n=0; do{++n;}while(n<=0);

B、n=0; while(1){n++;}

C、n=10; while(n) ;{ n--; }

D、for(n=0,i=1; ;i++) n+=i;


7、【单选题】若y是整型变量,语句while(!y) 语句1; 若要执行语句1,则表达式 !y 成立等价于( )

A、y==0

B、y!=1

C、y!=0

D、y==1


8、【单选题】要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )。

A、while((ch=getchar())!='N')printf("%c",ch);

B、while(ch=getchar()!='N ')printf("%c",ch);

C、while(ch=getchar()=='N ')printf("%c",ch);

D、while((ch=getchar())=='N ')printf("%c",ch);


9、【填空题】若k为整型变量,则以下for循环的执行次数是若k为整型变量,则以下for循环的 printf 执行次数是_______ for(k=2;k==0;) printf(%d,k--);

A、


10、【填空题】若变量m已定义,以下程序段中的do-while循环次数是________m=-1; do{ m=m*m;}while(!m);

A、


11、【填空题】下面程序的运行结果是___________#includestdio.hint main() { int m=0; while(m=2) { m++; printf(%d,m);}}

A、


12、【填空题】若有程序段:int x=10; while(x=0) x=x-1; 则循环体的执行次数是___________

A、


13、【填空题】以下程序输出结果是_______。 #includestdio.hint main() { int i; for(i=0;i3;i++) switch(i) { case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); } }

A、


数组的引入

1、【单选题】假定int类型变量占用四个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )

A、4

B、12

C、20

D、40


二维数组的定义与引用

1、【单选题】以下二维数组c的定义形式是( )

A、int c[3][]

B、float c[3,4]

C、double c[3][4]

D、float c(3)(4)


2、【单选题】有如下定义语句:int aa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为( )

A、3,2

B、3,1

C、2,2

D、2,1


常用字符串处理函数

1、【单选题】有以下程序 #includestdio.hint main(){char a[]={ 'a', 'b', 'c','d','e','f','g','h','\0'};int i,j;i=sizeof(a);j=strlen(a);printf(%d,%d\n,i,j);return 0;}程序运行后的输出结果是( )

A、9,9

B、8,9

C、1,8

D、9,8


2、【单选题】设有两字符串“Good”、“Morning”分别存放在字符数组 str1[20]、str2[20]中,下面语句中能把“Morning”连接到“Good”之后的是( )。

A、strcpy(str1,str2);

B、strcpy(str1, "Morning");

C、strcat(str1, "Morning");

D、strcat("Good" ,str2);


数组作业

数组

1、【单选题】阅读如下程序段,则程序在先后输入love和china后,输出结果是( )#includestdio.h#includestring.hint main(){ char a[30],b[30]; int k; gets(a); gets(b); k=strcmp(a,b); if(k0) puts(a); else if(k0) puts(b);}

A、love

B、china

C、lovechina

D、没有输出结果


2、【单选题】已知:char a[20]= abc,b[20]= defghi;则执行下列语句后的输出结果为( )printf(%d,strlen(strcpy(a,b)));

A、11

B、6

C、5

D、以上答案都不正确


3、【单选题】阅读下列程序,则在执行后,程序的运行结果为( ) #include string.h#includestdio.hint 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


4、【单选题】若有定义:int a[5]={1,2,3,4,5};char b='c',c;则下面表达式中数值为 2 的是( )。

A、a[2]

B、a[c-b]

C、a[b]

D、a[b-'b']


5、【单选题】以下对C语言字符数组描述错误的是( )。

A、字符数组可以存放字符串

B、字符数组中的字符串可以整体输入或输出

C、可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值

D、不可以用关系运算符对字符数组中的字符串进行比较


6、【单选题】以下合法的数组定义是( )

A、int a[]="language";

B、int a[5]={0,1,2,3,4,5};

C、char a="string";

D、char a[]={"0,1,2,3,4,5"};


7、【单选题】以下各组选项中,均能正确定义二维实型数组a的选项是( )。

A、float a[3][4]; float a[][4]; float a[3][]={{1},{0}};

B、float a(3,4); float a[3][4]; float a[][]={{0};{0}};

C、float a[3][4]; static float a[][4]={{0},{0}};

D、float a[3][4];float a[3][];


8、【单选题】关于int a[2][4]={1,2,3,4,5,6 }; 说法不正确的是( )

A、它的等价形式之一是int a[][4]={{1,2,3,4},{5,6}}

B、它的等价形式之一是int a[][4]={1,2,3,4,5,6,0,0}

C、它的等价形式之一是int a[2][]={{1,2,3,4},{5,6,0,0}}

D、它的等价形式之一是int a[][4]={{1,2,3,4},{5,6,0}}


9、【单选题】下列关于char str[3][100]说法不正确的是( )

A、可以看作是3个字符串,而且每一个字符串的长度都不超过100

B、该数组最多可以容纳300个字符

C、可以分别用gets(str[1])和 puts(str[1])来输入和输出该字符数组中下标为1的字符串

D、可以通过puts(str)一次性输入数组的全部内容


10、【单选题】假设 array 是一个已定义好的,有 10 个元素的整型数组, 则下列写法中正确的是( )。

A、array[0]=10;

B、array=0;

C、array[10]=0;

D、array[-1]=0;


11、【单选题】对以下说明语句的正确理解是 ( ) int a[10]={6,7,8,9,10};

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[0]至a[4]

C、将5个初值依次赋给a[6]至a[10]

D、因为数组长度与初值的个数不相同,所以此语句不正确


12、【填空题】访问二维数组中的特定元素,需要同时指明______ 下标和_______下标。填空题多个答案按空格隔开

A、


13、【填空题】设有数组int a[4][5],则该数组的第一个元素和最后一个元素分别为______、_____。

A、


14、【填空题】下面程序的运行结果是_________。#includestdio.h#include string.hint main(){ char s[12]= a book!; printf(%d,strlen(s)); }

A、


15、【填空题】读以下程序得到运行结果是______#includestdio.hint main() { int k[30]={12,324,45,6}; int count=0,i=0; while(k[i]) { if(k[i]%2==0 || k[i]%5==0) count++; i++; } printf(%d,%d\n,count,i);}

A、


函数的声明、定义与调用

1、【单选题】设有如下的函数 fun (float x) { printf(\n%d,x*x);  } 则函数的类型( )

A、与参数x的类型相同

B、void

C、int

D、无法确定


2、【单选题】以下正确的函数头定义形式是( )

A、double fun(int x,int y)

B、double fun(int x;int y)

C、double fun(int x,int y);

D、double fun(int x,y);


函数的参数传递

1、【单选题】数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是( )

A、实参将其地址传递给形参,并释放原先占用的存储单元

B、实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

C、实参将其值传递给形参,调用结束时形参再将其值回传给实参

D、实参将其值传递给形参,调用结束时形参并不将其值回传给实参


2、【单选题】以下关于函数叙述中,错误的是( )

A、函数未被调用时,系统将不为形参分配内存单元

B、实参与形参的个数应相等,且实参与形参的类型必须对应一致

C、当形参是变量时,实参可以是常量、变量或表达式

D、形参可以是常量、变量或表达式


变量作用域

1、【单选题】以下正确的说法是( )。如果在一个函数中的复合语句中定义了一个变量,则该变量

A、只在该复合语句中有效

B、在该函数中有效

C、在本程序范围内有效

D、为非法变量


2、【填空题】阅读以下程序代码,其运行结果是_____________#include stdio.hvoid swap(int a,int b){ int t; t=a;a=b;b=t; printf(%d%d,a,b);}int main(){ int a=3,b=4; swap(a,b); printf(%d%d\n,a,b);}

A、


变量的存储属性

1、【单选题】凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )。

A、自动(auto)

B、静态( static )

C、外部(extern)

D、寄存器(register)


2、【填空题】阅读以下程序,其运行结果是_____________#include stdio.hfunc(int a,int b){ static int m=0,i=2; i+=m+1; m=i+a+b; return(m);}int main(){ int k=4,m=1,p1,p2; p1=func(k,m); p2=func(k,m); printf(%d,%d\n,p1,p2);}

A、


函数作业

指针

1、【单选题】下列关于指针变量赋空值的说法错误的是( )

A、当赋空值的时候,变量指向地址为0的存储单元

B、赋值语句可以表达为: 变量名=′\0′;

C、赋值语句可以表达为变量名=0;

D、一个指针变量可以被赋空值


2、【单选题】int a= 10,*p=a;语句中,p的值是_______

A、10

B、变量p的地址值

C、变量a的地址值

D、无意义


3、【填空题】阅读以下程序,其执行结果是_________#include stdio.h int main(){ int a,*p,*q; p=a; q=a; *p=5%6; *q=5; printf(%d\n,a);}

A、


指针作为函数参数

1、【填空题】下列程序段的输出结果是_______。 #include stdio.hvoid fun(int *px, int *py) { printf(%d %d\n, *px, *py); *px=3;*py=4;} int main() { int x=1,y=2; fun(x,y); printf(%d %d\n,x, y); }

A、


2、【填空题】#include stdio.h  int *fun(int *a,int *b){ int c; c=*a%*b; return c;}int main(){ int a=5,b=19,*c; c=fun(a,b); printf(%d\n,++*c);}

A、


指针与数组

1、【单选题】对语句“int a[10],*p=a;”,下列表述中正确的是( )

A、*p被赋初值为a数组的首地址

B、*p被赋初值为数组元素a[0]的地址

C、p被赋初值为数组元素a[1]的地址

D、p被赋初值为数组元素a[0]的地址


2、【单选题】若有说明语句 int a[5], *p=a; 对数组元素的正确引用是( )

A、a[p]

B、p[a]

C、*(p+2)

D、p+2


字符串指针

1、【填空题】阅读下面程序,则执行后的结果为_____#include stdio.h   int main()  { char *str=abcdefghijklmnopq;   while(*str++!=′e′);   printf(%c\n,*str); }

A、


2、【填空题】下面函数的功能是____char *fun(char *str1,char*str2)  { while((*str1)(*str2++=*str1++)); return str2;}

A、


指针单元测验

1、【单选题】下列正确的定义语句是( )

A、int x=3,*p=1;

B、int x=3,*p=0;

C、int x=3,*p=x;

D、int *p=&x=3;


2、【单选题】若有以下定义,且0=i5, 则对数组元素地址的正确表示是 ( )int a[ ]={1,2,3,4,5},*p=a, i;

A、&(a+i)

B、a++

C、&p

D、&p[i]


3、【单选题】下列语句定义p为指向float类型变量d的指针,其中正确的是( )

A、float d=0,*p=d;

B、float d=0,*p=&d;

C、float *p=&d,d=0;

D、float d=0,p=d;


4、【单选题】若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是( )

A、a[p-a]

B、*(&a[i])

C、p[i]

D、a[10]


5、【单选题】现有如下定义语句 int*p,s[20],i;   p=s; 表示数组元素s[i]的表达式不正确的是( )

A、*(s+i)

B、*(p+i)

C、*(s=s+i)

D、*(p=p+i)


6、【单选题】有说明语句char *name=newspaper; 则 可获取串中字符's'是( )

A、name[0]+3

B、*name+3

C、*(name+3)

D、name[4]


7、【单选题】若有以下定义,则 *(p+5) 的值为 ( )char s[ ]=Hello”, *p=s;

A、'0'

B、'\0'

C、'0'的地址

D、不确定的值


8、【单选题】对于2个类型相同的指针变量,不能进行的运算是( )

A、+

B、- ==

C、==

D、=


9、【单选题】已有定义int k= 2,*ptr1,*ptr2;且ptrl 和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。

A、k= *ptr1+ *ptr2

B、ptr2 =k

C、ptr1=ptr2

D、k= *ptrl * (*ptr2)


10、【单选题】以下程序输出的结果是( )#include stdio.h int main() { char w[][5]={ABCD,EFGH,IJKL,MNOP}; int k; for (k=1; k3; k++) printf(%s\n, w[k]+k); }

A、ABCD FGH

B、JKLOP

C、EFGJK

D、FGHKL


11、【单选题】设有语句:int k=1, *p1=k, *p2=k;,以下不能正确执行的赋值语句是( )

A、p1=k;

B、p1=p2;

C、*p1=*p2;

D、k=*p1+*p2;


12、【填空题】有以下程序#includestdio.hint main()  { char *p=abcde\0fghjik\0 ;  printf(%d\n ,strlen(p));  }程序运行后的输出结果是______

A、


13、【填空题】阅读下面程序,在程序执行后的结果为______#include stdio.hint 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、


14、【填空题】下面程序段中,输出*的个数是__________#include stdio.hint main( ){ char *s=\ta\018bc;   for(;*s!=′\0′;s++)printf(*);}

A、


15、【填空题】以下程序输出的结果是:___________#include stdio.hint main(){ char a[11]=0123456789,*p; p=a[4]; puts(p) ;}

A、


16、【填空题】设int a[10]={1,2,3}; 则*(a+3)的值是_______

A、


17、【填空题】阅读以下程序,输出结果为_________#includestdio.h#include string.hvoid fun( char s[]); int main() { char a[]=abcde;int k;fun(a);puts(a); return 0; } void fun( char s[]) { int x,y; char c; x=0; y=(strlen(s)-1)/2; for( ; xy; x++,y--) { c=s[y]; s[y]=s[x]; s[x]=c;} }

A、


18、【填空题】下面程序的运行结果是_____________ #include stdio.hint main( ){ int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b; printf(%d\n, *(q+2) ); return 0;}

A、




广东理工学院成人高考招生简章

广州城建职业学院成人高等教育招生简章

广东科学技术职业学院招生简章

广东科学技术职业学院招生简章

广东生态工程职业学院成人高考招生专业

清远职业技术学院成人高等教育招生专业简介

电子科技大学中山学院成人高等教育招生简章

广州涉外经济职业技术学院

韶关学院成人高考招生简章

广东财经大学成人高等教育招生简介

广东理工学院成人高考招生简章

广东第二师范学院成人高考招生简章

广东南方职业学院成人高考招生简章

广东亚视演艺职业学院成人高考招生简章


电话咨询