若有定义typedef char STRING[255]; STRING s; 则s是
A. 字符指针数组变量
B. 字符指针变量
C. 字符变量
D. 字符数组变量
答案是:答案D
以下程序的运行结果是( )main(){int m=5;if(m++>5) printf(.%d.,--m);else printf(.%d.,m++);}
A. 4
B. 5
C. 6
D. 7
答案是:答案C
写出下面程序的输出结果( )main(){int x;x=-3+4*5-6;printf(.%d.,x);x=3+4%5-6;printf(.%d.,x);x=-3*4%6/5;printf(.%d.,x);x=(7+6)%5/2;prin
答案是:答案A
若有定义:int (*p)[4];则标识符p( )
A. 是一个指向整型变量的指针
B. 是一个指针数组名
C. 是一个指针,它指向一个含有四个整型元素的一维数组
D. 定义不合法
答案是:答案C
下面程序的输出是( )main(){ struct cmplx{int x;int y;}cnum[2]={1,3,2,7};printf(.%d .,cnum[0].y/cnum[0].x*cnum[1].x); }
A. 0
B
答案是:答案D
用typedef可以创建新的基本类型
答案是:答案错误
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )
A. A%2= =1
B. !(A%2= =0)
C. !(A%2)
D. A%2
答案是:答案C
下面程序的运行结果是( )#include main(){int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(.%2d.,a[i]);}}
A. 4 0 4 0 4
B
答案是:答案C
sizeof(float)是( )
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
答案是:答案B
以下对C语言中联合体类型数据的叙述正确的是( )
A. 可以对联合体变量直接赋值
B. 一个联合体变量中可以同时存放其所有成员
C. 一个联合体变量中不能同时存放其所有成员
D. 联合体类型定义中不能同时出现结构体类型的成员
答案是:答案C
在C语言中,每个语句和数据定义是用( )结束
A. 句号
B. 逗号
C. 分号
D. 括号
答案是:答案C
设整型变量a值为9,则下列表达式中使b的值不为4的表达式( )
A. b=a/2
B. b=a%2
C. b=8-(3,a-5)
D. b=a>5?4:2
答案是:答案B
以下程序#include main(){printf(.%d .,NULL);}的输出结果是( )
A. 不确定的值(因变量无定义)
B. 0
C. -1
D. 1
答案是:答案B
C语言中,逻辑真表示为( )
A. TRUE
B. .y.或.Y.
C. 1
D. 非零值
答案是:答案C
下面程序段的运行结果是( )a=1;b=2;c=2;while(a
A. 1,2,0
B. 2,1,0
C. 1,2,1
D. 2,1,1
答案是:答案A
表达式-l?(10?10:1):(0?0:-1)的值为( )
A. 10
B. 1
C. 0
D. -1
答案是:答案A
C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中.
答案是:答案错误
在C 语言中,共用体类型属于构造类型
答案是:答案正确
有int x=3,y=4,z=5;则下面表达式中值为0的是( )
A. x.&&.y.
B. x<=y
C. x||y+z&&y-z
D. !((x
答案是:答案D
要打开一个已存在的非空文件"file"用于修改,选择正确的语句
A. fp=fopen(.file.,.r.)
B. fp=fopen(.file.,.w.)
C. fp=fopen(.file.,.r+.)
D. fp=f
答案是:答案C
在以下的运算符中,优先级最高的运算符是
A. >
B. =
C. %
D. &&
答案是:答案C
设有以下的程序片段, int i;float f=10.5;i=((int)f)/2;请问执行后变量i的值是( )
A. 5.0
B. 5.5
C. 6
D. 5
答案是:答案D
以下read函数的调用形式中,参数类型正确的是( )
A. read(int fd,char *buf,int count)
B. read(int *buf,int fd,int count)
C. read(int fd,i
答案是:答案A
以下选项中可作为C语言合法整数的是
A. 10110B
B. 0386
C. 0Xffa
D. x2a2
答案是:答案C
定义如下变量和数组:int k,a[3][3]={1,2,3,4,5,6,7,8,9}
答案是:A. 3 5 7
定义如下变量和数组:int k,a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf(.%d .,a[k][2-k]);
答案是:答案A
若有以下定义:char s[10]=.include.,*p=s;则不能代表字符u的表达式是( )
答案是:答案B
若有以下定义int a[5]={1,2,3,4,5},*p,i;i
答案是:答案D
int k=0;do{++k;}while(k>=0);是无限循环的语句
答案是:答案错误
C语言中形参到实参传递是双向的
答案是:答案错误
定义如下变量和数组:int k,a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf(.%d .,a[k][2-k]);
A. 3 5 7
B. 3 6
答案是:答案A
C语言规定,函数返回值的类型是由( )所决定。
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数是系统临时指定
D. 在定义该函数时所指定的函数类型
答案是:答案D
下列字符串是标识符的是( )
A. _HJ
B. 9_student
C. long
D. LINE 1
答案是:答案A
若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示
A. 已读到此文件末尾
B. 未读到此文件的末尾
C. 此文件已关闭
D. 此文件尚未被打开
答案是:答案A
在C语言中,全局变量的隐含存储类别是
A. static
B. extern
C. void
D. register
答案是:答案B
struct st {int age;int num;}stul, *p; p=&stul;以下对结构体变量stul中成员age的非法引用是( )
A. stul.age
B. age
C. p-->age
D. (*p).
答案是:答案B
若fp已正确定义并指向某个文件,当未遇到该文件结束标志时,函数feof(fp)值
A. 0
B. 1
C. -1
D. 一个非0值的
答案是:答案D
若数组a有m列,则ali][j]之前的数组元素个数为( )
A. (i-1)*(i-1)
B. i*m+j+1
C. i*m+j-1
D. i*m+j
答案是:答案D
设有以下程序片段:char s[ ]=.Program!.;char *p;p=s;则执行完上面的程序段后,*(p+8)的值为( )
A. !.
B. .\0.
C. .m.
D. 不定值
答案是:答案B
在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码( )
A. 大32
B. 大64
C. 小32
D. 小64
答案是:答案A
C语言中的main函数必须位于程序的最前面
答案是:答案错误
C语言是解释性语言
答案是:答案错误
在位运算中,操作数每左移2位,相当于( )
A. 操作数*2
B. 操作数/2
C. 操作数*4
D. 操作数/4
答案是:答案C
执行以下程序后的输出结果是( )int w=3,z=7,x=10;printf(.%d.,x>10?x+100:x-10);printf(.%d.,w++||z++);printf(.%d.,!w>z);printf(.%d.,w&&z);
答案是:答案C
以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf(.%d,%d,%d .,x,y,z); }
A. 20,20,20
B. 32,16,20
C. 16,32
答案是:答案C
设有以下程序片段:char a[ ]=.hello.,*p;p=a;printf(.%d.,*(p+5));执行上面的程序片段后的结果为( )
A. 111
B. 0
C. 104
D. 不确定的值
答案是:答案B
以下程序的运行结果是( )#include main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(.%d,%d.,a,b);}
A. 6,1
B. 2,1
C. 6,0
D.
答案是:答案B
设有以下结构体定义:struct emproyer{char name[8];int age;char sex;}staff;则下面的叙述不正确的是( )
A. struct是结构体类型的关键字
B. struct emproyer
答案是:答案C
程序段的基本结构中,不包含( )
A. 函数结构
B. 循环结构
C. 顺序结构
D. 分支结构
答案是:答案A
设有以下定义int k=7, x=12;,则能使值为3的表达式是( )
A. x%=(k%=5)
B. x%=(k-k%5)
C. x%=k
D. (x%=k)-(k%=5)
答案是:答案D
若有以下定义,int a,b;float x; 则正确的赋值语句是( )
A. a=1,b=2
B. b++
C. a=b=5
D. b=int(x)
答案是:答案B
设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是( )
A. 运行错误
B. 100
C. i的地址
D. j的
答案是:答案B
设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )
A. 1
B. 2
C. 3
D. 4
答案是:答案B
有一个函数原型如下所示: abc(float x,double y); 则该函数的返回类型为
A. void
B. double
C. int
D. float
答案是:答案C
C语言中没有真正的多维数组
答案是:答案正确
写出下面程序的输出结果( )main(){int i,j;i=20;j=(++i)+i;printf(.%d.,j);i=13;printf(.%d %d),i++,i);}
A. 42 14,13
B. 41 14,14
C.
答案是:答案C
判断char型变量ch是否为大写字母的正确表达式为( )
A. A.<=ch<=.Z.
B. (ch>=.A.)&(ch<=.Z.)
C. (ch>=.A.)&&(ch<=.Z.)
D. (.A.<=ch)AND(.Z.>=
答案是:答案C
以下不正确的说法为( )
A. 在不同函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在函数内定义的变量只在本函数范围内有效
D. 在函数内的复合语句中定义的变量在本函数范围内有效
答案是:答案D
根据题目中已给出的数据输入和输出形式,main(){int x;float y;printf(.enter x,y:.);输入语句;输出语句}输入形式:enter x,y:2 3.4输出形式:x+y=5.40, 程序中输入输出语句的正确内容
答案是:答案B
若要求表示a不等于0的关系,错误的表达式是( )
A. a<>0
B. a!=0
C. a
D. a<0| |a>0
答案是:答案A
若i是int型变量,且有下面的程序片段i=0;if(i<=0) printf(.####.) else printf(.****.);上面程序片段的输出结果是( )
A. ####
B. ****
C. ####****
D
答案是:答案D
若以.a+.方式打开一个已存在的文件,则以下叙述正确的是( )
A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和修改操作
B. 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读写操作
答案是:答案A
以下程序的运行结果为( )#include main(){struct date{int year,month,day;}today; printf(.%d .,sizeof(struct date));}
A. 6
B. 8
答案是:答案A
设有说明:char *str[10];则标识符str的意义是( )
A. str是一个指向有10个元素的数组的指针
B. str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型
C. str是一个指向char
答案是:答案B
语句while(!E);中的!E等价于( )
A. E= =0
B. E!=1
C. E!=0
D. E= =1
答案是:答案A
设以下变量均为int类型,则值不等于7的表达式是( )
A. x=y=6,x+y,x+1
B. x=y=6,x+y,y+1
C. x=6,x+1,y=6,x+y
D. y=6,y+1,x=y,x+1
答案是:答案C
设整型变量a和b的值分别为8和9。printf(.%d,%d.,(a++,++b),b--);的输出是( )
A. 8,8
B. 8,7
C. 9,9
D. 10,9
答案是:答案C
已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf(.%o%x%e.,&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格)
答案是:答案正确
C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量
答案是:答案正确
在C 语言中,指针类型属于构造类型
答案是:答案错误
main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf(.%d,%d.,x,x&&!y||z);}程序的运行结果是1,1
答案是:答案错误
以下不正确的定义语句是( )
A. double x[5]={2.0,4.0,6.0,8.0,10.0}
B. int y[5]={0,1,3,5,7,9}
C. char c1[]={.1.,.2.,.3.,.4.,.5.}
答案是:答案B
C语言中while和do while循环的主要区别是( )
A. do-while的循环至少无条件执行一次
B. while循环控制条件比do-while的循环控制条件严格
C. do-while允许从外部转入到循环体内
D
答案是:答案A
若有以下定义:char s[10]=.include.,*p=s;则不能代表字符u的表达式是( )
A. s[4]
B. s+4
C. *(p+4)
D. p+=4,*p
答案是:答案B
下面对typedef不正确的叙述是
A. 用typedef可以定义各种类型名,但不能用来定义变量
B. 用typedef可以增加新的基本数据类型
C. 用typedef只是将已存在的类型用一个新的标识符表示
D. 使用typ
答案是:答案B
若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是( )
A. &p
B. a++
C. &(p+1)
D. &p[i]
答案是:答案D
不属于面向机器语言的是( )
A. 符号语言
B. 二进制语言
C. 汇编语言
D. C语言
答案是:答案D
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)( )
A. i*m+j
B. j*m+I
C. i*m+j-1
D. i*m+j+1
答案是:答案D
C语言提供的合法关键字是( )
A. break
B. print
C. funtion
D. end
答案是:答案A
假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是( )
A. 8
B. 7
C. 6
D. 5
答案是:答案A
若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是( )
A. p+=4,*(p++)
B. p+=4,*++p
C. p+=5,*p++
D. p+=4,++*p
答案是:答案A
下面程序#include main(){int y=10;do {y--;}while(--y);printf(.%d .,y--);}的运行结果是( )
A. 1
B. -1
C. 8
D. 0
答案是:答案D
关于fseek函数,以下有关操作的叙述不正确的是( )
A. 可以改变文件的位置指针
B. 可以实现文件的顺序读写
C. 可以实现文件的随机读写
D. 只可以顺序定位文件的位置指针
答案是:答案D
对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3)
答案是:答案正确
下列语句new→next=head;head=new;可以完成建立2结点的单向链表的功能
答案是:答案正确
strcmp3(char *s,char *t){for (;*t= =*s;){if (!*t) return 0; t++;s++;}return (*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段
答案是:答案正确
表达式a
A. &,<,||
B. &,||,<
C. <,||,&
D. <,&,||
答案是:答案D
下面程序的输出是( )main(){enum team {my, your=4,his,her=his+10};printf(.%d%d%d%d .,my,your,his,her);}
A. 0 1 2 3
B. 0 4 0 10
答案是:答案C
已知a,b,c的值分别是1,2,3,则执行下列语句if (a++
A. 0,0,0
B. 1,2,3
C. 1,2,1
D. 2,2,2
答案是:答案D
设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是( )
A. z=exp(y)+fabs(x)
B. y=log10(y)+pow(y)
C. z=sqrt(y-z)
答案是:答案D
一个C程序的执行是从( )
A. 本程序的main函数开始,到main函数结束
B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C. 本程序的main函数开始,到本程序文件的最后一个函数结束
D. 本程序文
答案是:答案A
以下对二维数组a的正确说明是( )
A. int a[3][]
B. float a(3,4)
C. double a[1][4]
D. float a(3)(4)
答案是:答案C
下面程序段x=y=0;while(x<15) y++,x+=++y;printf(.%d,%d.,y,x);的运行结果是( )
A. 20,7
B. 6,12
C. 20,8
D. 8,20
答案是:答案D
阅读以下程序,int w=1,x=2,y=3,z=4,m;m=w
A. 1
B. 2
C. 3
D. 4
答案是:答案A
已有程序段和输入数据的形式,main(){ int a;float f;printf(.Input number:.);(输入语句)printf(. f=%f,a=%d .,f,a);}Input number:4.5uu2(u代表空格)
答案是:答案D
设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( )
A. a.&&.b.
B. a<=b
C. a||b+c&&b-c
D. !((a
答案是:答案D
以下运算符优先级最高的是( )
A. &&
B. &
C. ||
D. |
答案是:答案B
若有以下定义, int k=7,x=12, 则能使值为3的表达式是( )
A. x%=k%=5
B. x%=k-k%5
C. x%=(k-k%5)
D. (x%=k)-(k%=5)
答案是:答案D
关于联合体,下面叙述不正确的是( )
A. 联合体变量中成员项共用同一存储空间,因此,联合体变量的地址和每一个成员项的地址是同一地址
B. 联合体变量中成员项所占存储空间量不同,因此,联合体中每一个成员项的地址不是同一地址
C.
答案是:答案B
在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A. extern
B. register
C. auto
D. static
答案是:答案D
设E为表达式,以下与do…while(E);不等价的语句是
A. do…while(!E==0)
B. do…while(E>0||E<0)
C. do…while(E==0)
D. do…while(E!=0)
答案是:答案C
根据下面程序及数据的输入和输出形式,main(){char ch1,ch2,ch3;输入语句printf(.%c%c%c.,ch1,ch2,ch3);}, 输入形式:AuBuC输出形式:AuB, 程序中输入语句的正确形式应该为( )(u代表
答案是:答案A
下面程序main(){int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);}的输出结果是( )
A. 14 40
B. 20 0
C. 20 4
答案是:答案B
有以下程序#include main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf(.%d,%d.,*p,a[3]);},请问执行后的输出结果是( )
A. 1,4
B. 0,4
答案是:答案C
C语言源程序的最小单位是( )
A. 程序行
B. 语句
C. 函数
D. 字符
答案是:答案D
main(){short i;i=-4;printf(. i:dec=%d, oct=%o, hex=%x, unsigned=%u .,i,i,i,i);}以上程序的输出结果为i:dec=-4, oct=177774, hex=fffc,
答案是:答案正确
C语言中,函数可以嵌套定义
答案是:答案错误
使用continue和break语句,都可以使得C程序中断执行
答案是:答案错误
main(){int x,y,z;x=1;y=2;z=3;x=y--<=x||x+y!=z;printf(.%d,%d.,x,y);} 程序的运行结果是1,1
答案是:答案正确
printf函数中用到格式符.%4s.,其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为( )
A. 从左起输出该字符串,右补空格
B. 按原字符长从左向右全
答案是:答案C
下面四个选项中,均是不合法的用户标识符的选项是( )
A. A,P_0,do
B. float,la0,_A
C. b-a,goto,int
D. _123,temp,INT
答案是:答案C
以下程序段x=-1;do x=x*x;while(!x);( )
A. 是死循环
B. 循环执行两次
C. 循环执行一次
D. 有语法错误
答案是:答案C
设有程序段t=0;while(printf(.*.)){t++;if(t<3) break;}下面描述正确的是( )
A. 其中循环控制表达式与0等价
B. 其中循环控制表达式与.0.等价
C. 其中循环控制表达式是不合法的
答案是:答案B
10+’a’+1.5-567.345/’b’的结果是( )型数据
A. long
B. double
C. int
D. unsigned float
答案是:答案B
设有以下程序片段, int i=010,j=10,k=0xl0;printf(.%d,%d,%d.,k,j,i);请问执行后的输出结果是( )
A. 16,10,8
B. 8 10 16
C. 10,10,10
D. 8,1
答案是:答案A
根据下面的定义,能打印出字母“M”的语句是( )struct person{char name[9];int age;};struct person class[10]={.John.,17,.Paul.,19,.Mary.,18,.ada
答案是:答案D
已知函数的调用形式:fread(buffer, size, count, fp); 其中buffer代表
A. 一个整型变量,代表要读入的数据项总数
B. 一个文件指针变量,指向要读的文件
C. 一个储存区,存放要读的数据项
答案是:答案D
函数ftell的作用是( )
A. 取得当前文件指针的位置,该位置为相对于文件开头的位移量表示
B. 取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示
C. 出错时返回值为0
D. 以上叙述都不正确
答案是:答案A
有枚举类型的定义: enum color1 { yellow,green,blue=5,red,brown}; 则枚举常量yellow 和 red的值分别是
A. 3,6
B. 1,6
C. 0,6
D. 0,3
答案是:答案C
定义一个联合体变量时,系统分配给它的内存是( )
A. 联合体中第一个成员所需内存量
B. 联合体中最后一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 各成员所需内存量的总和
答案是:答案C
目前为:
1/2
页
首页 上页 下页 尾页