出自:佳木斯大学语言治疗学

以下程序段的输出结果是( )。char *p=”abcdefgh”;p+=3;printf(“%c\n”,*p);
·d
·e
·f
·c
以下关于switch语句和break语句的描述中,正确的是( )。
·在switch语句中必须使用break语句
·在switch语句中,可以根据需要使用或不使用break语句
·break语句只能用于switch语句中
·break语句是switch语句的一部分
以下能正确进行字符串赋值、赋初值的语句组是( )。
·char s[5]={‘a’,’e’,’i’,’o’,’u’};
·char *s; s=”good!”;
·char s[5]=”good!”;
·char s[5];s=”good!”;
以下程序的输出结果是( )。main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(“%\n”,*(p+2));}
·3
·4
·1
·2
若有语句:char s1[ ]=“string1”,s2[8] 下面使用方法的错误的是( )。
·s2 = s1;
·(s2+0) = *(s1+0);
·s2[0] = s1[0];
·*s2 = *s1;
以下程序段的输出结果是( )。int x=3;doprintf(“%3d”,x-=2);}while(!(――x));
·1
·3 0
·1 -2
·死循环
若有说明:int *p,n;则通过scanf语句能够正确读入数据的程序段是( )。
·p=&n;scanf(“%d”,&p)
·p=&n;scanf(“%d”,*p)
·*p=&n;scanf(“%d”,p)
·p=&n;scanf(“%d”,p)
设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是( )
·a&&
·a<=b
·!(c&&b-c)
·(a<b)&&(!c||1)
若有以下程序段,其输出结果是( )。int a=0,b=0,c=0;c=a++,(b=a,a=++c);printf(“%d,%d,%d\n”,a,b,c);
·1,1,0
·1,1,1
·1,2,1
·2,1,2
若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( )。
·1
·2
·2.0
·2.5
若a为int类型,且其值为3,则执行完表达式a-=a*a后,a的值为( )。
·-3
·-6
·-12
·6
设有整型变量x=35,则表达式“(x&15)&&(x|15)”的值是( )。
·0
·1
·15
·35
假定i和j为int型变量,则执行以下语句后j的值是( )。int i=1;switch(i++) {case 1:for(j=0;j<9;j++) if(i==1) break;case 2:for(j=1;j<10;j++) if(i==2) break;case 3:printf(“i=%d\n”,i);}
·0
·1
·9
·10
设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为( )。
·不定值
·10
·1
·0
设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为(  )。
·float
·char
·int
·double
若“int n; float f=13.8;”,则执行“n=((int)f)%3”后,n的值是( )。
·1
·4
·4,333333
·4.6
putchar函数可以向终端输出一个( )。A)整型变量表达式值 B)实型变量值
·整型变量表达式值
·实型变量值
·字符串
·字符或字符型变量值
设a为2,则执行下列语句后,b的值不为0.5的是( )。
·b=1.0/a
·b=(float)(1/a)
·b=1/(float)a
·b=1/(a*1.0)
以下正确的叙述是( )。
·在C程序中,每行中只能写一条语句
·若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
·在C程序中,无论是整数还是实数,都能被准确无误的表示
·在C程序中,%是只能用于整数运算的运算符
以下不正确的叙述是( )。
·在C程序中,逗号运算符的优先级最低
·在C程序中, APH和aph是两个不同的变量
·若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
·当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
若有代数式 ,则不正确的C语言表达式是( )。
·a / b / c * e * 3
·3* a *e / b / c
·3* a *e / b * c
·a * e / c / b *3
下列数据中属于“字符串常量”的是( )。
·“a”
·{ABC}
·‘abc\u0000
·‘a’
不是C语言提供的合法关键字是( )。
·switch
·cher
·case
·default
下面四组选项中,均是不正确的八进制数或十六进制数的选项是( )。
·016 0x8f 018
·oabc 017 0xa
·010 -0x11 0x16
·0a12 7ff -123
以下选项中不合法的用户标识符是( )
·abc.c
·file
·Main
·PRINT
以下叙述不正确的是( )。
·一个C源程序可由一个或多个函数组成
·一个C源程序必须包含一个main函数
·C程序的基本组成单位是函数
·在C程序中,注释说明只能位于一条语句的后面
一个C程序的执行是从( )。
·本程序的main函数开始,到main函数结束。
·本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
·本程序的main函数开始,到本程序文件的最后一个函数结束
·本程序文件的第一个函数开始,到本程序的main函数结束
若有说明:int a=2,*p;则以下正确的赋值语句是( )。
·&p=a;
·*p=a;
·p=a;
·p=&a;
#include <stdio.h>main( ){ int a=2,b=5;printf(“a=%d,b=%d\n”,a,b);}则程序的输出结果是( )。
·a=2,b=5
·2, 5,
·a=5,b=2,
·5,2
设有以下定义char s1[]="0123"; char s2[]={.0.,.1.,.2.,.3.};则以下叙述正确的是( )。
·数组s1的长度小于s2的长度
·数组s1和s2的长度相同
·数组s1的长度大于s2的长度
·数组s1和s2完全等价
若有以下函数调用语句max(a,b*c);则此函数调用中实参的个数是( )。
·1
·2
·3
·4
C语言主要是借助以下哪种手段来实现程序模块化( )。
·定义常量和外部变量
·使用丰富的数据类型
·定义函数
·使用三种基本结构语句
下列程序<o:p></o:p>copy_string(from,to)<o:p></o:p>char *from,*to;<o:p></o:p>{ while(*from) *to++=*from++;<o:p></o:p>*to=’\0’;<o:p></o:p>}<o:p></o:p>main()<o:p></o:p>{ static char s1[ ]=”c_program.”;<o:p></o:p>static char s2[80];<o:p></o:p>copy_string(s1,s2);<o:p></o:p>printf(“%s\n”,s2);<o:p></o:p>copy_string(“123”,s2);<o:p></o:p>printf(“%s\n”,s2);<o:p></o:p>}<o:p></o:p>运行后输出的数据为( )。<o:p></o:p>
·c_program 123
·123
·c_program123
·c_program123
下列程序<o:p></o:p>main()<o:p></o:p>{ int a[10],b[10],*pa,*pb,i;<o:p></o:p>pa=a;pb=b;<o:p></o:p>for(i=0;i<3;i++,pa++,pb++)<o:p></o:p>{*pa=i;*pb=2*i;<o:p></o:p>printf(“%d\t%d\n”,*pa,*pb);<o:p></o:p>}<o:p></o:p>printf(“\n”);<o:p></o:p>pa=&a[0];<o:p></o:p>pb=&b[0];<o:p></o:p>for(i=0;i<3;i++)<o:p></o:p>{*pa=*pa+i;<o:p></o:p>*pb=*pb*i;<o:p></o:p>printf(“%d\t%d\n”,*pa++,*pb++);<o:p></o:p>} <o:p></o:p>}<o:p></o:p>运行后输出的数据为______。<o:p></o:p>
·0 01 22 40 02 24 8
·0 01 22 40 02 22 4
·0 01 22 40 01 22 4
·0 02 22 40 01 24 8
下列程序#define MAX 10main(){ int i,sum,a[ ]={1,2,3,4,5,6,7,8,9,10};sum=1;for(i=0;i<MAX;i++)sum-=a[i];printf(“SUM=%d”,sum);}程序运行结果是: ( )
·SUM=55
·SUM=-54
·SUM=-55
·SUM=54
已知<o:p></o:p>struct student<o:p></o:p>{char ﹡name;<o:p></o:p>int student_n;<o:p></o:p>char grade;<o:p></o:p>};<o:p></o:p>struct student temp,*p=&temp;<o:p></o:p>temp.name=”chou”;<o:p></o:p>则下面不正确的是_______。<o:p></o:p>
· 表达式 值p→name chou
· 表达式 值(*p)→name+2 h
· 表达式 值*p→name+2 e
· 表达式 值*(p→name+2) o
下列程序main(){ int x,y,z;x=y=2;z=3;y=z++-1;printf(“%d\t%d\t”,x,y);y=++x-1;printf(“%d \t%d\n”,x,y);y=z---1;printf(“%d\t%d\t”,z,y);y=--z-1;printf(“%d\t%d\n”,z,y);}运行后输出的数据为_______。
·3 1 4 22 4 1 3
·3 1 3 32 4 2 2
·2 2 3 23 3 2 1
·2 1 3 21 3 1 2
C语言标准库函数fread(fd,buffer,n)的功能是( )。
·从文件fd中读取长度不超过n个字节的数据送入buffer指向的内存区域
·从文件fd中读取长度不超过n-1个字节的数据送入buffer指向的内存区域
·从文件fd中读取长度不超过n个字符送入buffer指向的内存区域
·从文件fd中读取长度不超过n-1个字符送入buffer指向的内存区域
由系统分配和控制的标准输出文件为( ) 。
·键盘
·磁盘
·打印机
·显示器
联合体成员的数据类型 ( )。
·相同
·可以不同也可以相同
·长度一样
·是结构体变量
调用函数的实参与被调用函数的形参应该有如下关系( ) 。
·只要求实参和形参个数相等
·只要求形参和实参顺序相同
·只要求实参和形参数据类型相同
·上述三点均需具备
已知for(;n>=1;n--),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是( )。
·*S1++=*S2++
·S1[n-1]=S2[n-1]
·*(S1+n-1)=*(S2+n-1)
·*(++S1)=*(++S2)
已知static int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,则表达式 *(p[0]+1)+**(q+2)的值是( )。
·5
·4
·6
·7
对于语句int *px[10],以下说法正确的是( ) 。
·px是一个指针,指向一个数组,数组的元素是整数型。
·px是一个数组,其数组的每一个元素是指向整数的指针。
·A和B均错,但它是C语言的正确语句。
·C语言不允许这样的语句。
若指针 px为空指针,则 ( )。
·px指向不定
·px的值为零
·px的目标为零
·px的地址为零
下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是( )。
·*pz
·C
·px
·&a
在循环中使用break 语句的功能是( )。
·使程序的执行跳出break所在的那一重循环
·使程序执行结束
·跳出包含此break语句的所有循环
·终止本次循环,继续下次循环
以下不正确的描述是 ( )。
·使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
·while循环是先判断表达式后执行循环体语句
·do-while和for循环均是先执行循环体语句,后判断表达式
·for、while、do-while循环中的循环体均可以由空语句构成
语句char str[20];说明str是一个字符串,最多能表示 ( ) 。
·20个字符
·19个字符
·18个字符
·21个字符
‘A’ + 3 的结果是( )。
·’A’
·’D’的ASCⅡ码
·65
·3