单项选择题
导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。
A) int B) a_1_2 C) ab1exe D) _x
A) #define B) _123 C) %d D) n
A) print B) iam C) Pxq D) str_l
_3d one_half My->book Cpp
oodbs tart$it line# pow
aBc 3pai His.age while
A) auto,enum,include B) switch,typedef,continue
C) signed,union,scanf D) if,struct,type
A) default B) register C) enum D) external
A) 程序文件的开始 B) 程序文件的最后
C) 它所调用的函数的前面 D) 程序文件的任何位置
A) 大写字母和小写字母的意义相同
B) 不同类型的变量可以在一个表达式中
C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D) 同一个运算符号在不同的场合可以有不同的含义
A) 32768 (超过了范围)
B) 0
C) 037
D) 0xAF
A) -1 B) 1 C) Cffff D) ffff
A) -1 B) -32768 C) 1 D) 32768
执行语句printf("%d",i);屏幕显示____。
A) 65539 B) -3 C) 3 D) 程序不能执行
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000
C) 0000 0000 0000 1000 D) 1111 1111 1111 0111
A) 原码 B) 补码 C) 反码 D) ASCII码
A) c=147 B) c="147" C) c='147' D) c='0147'
A) '000' B) '0014' C) 'x111' D) '2'
A) c='0' B) c=NULL C) c=0 D) c=32
A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明非法
A) 8 B) 9 C) 14 D) 非法字符串
A) 0 B) 1 C) 2 D) 非法字符串
执行语句"c=a+b+c+d;"后,变量c的数据类型是 。
A) int B) char C) float D) double
A) C=5/9(F-32) B) C=5*(F-32)/9
C) C=5/9*(F-32) D) 三个表达式都正确
A) 15 B) 60 C) 30 D) 不确定
A) 1 B) 2 C) 3 D) 4
A) int B) unsiged C) long D) 以上三种类型均可
A) 0 B) 1 C) 19 D) 20
y=++x>5&&++x<10;A) 1 B)2 C) 3 D) 4
A) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122
B) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)
C) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122
D) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)
则表达式"a[0][0]/a[0][1]/a[0][2]"的值是____。
A) 0.166667 B) 1 C) 0 D) 错误的表达式
表达式"x+++y+++z++"的值是____。
A) 3 B) 4 C) 5 D) 表达式错误
012是1010
12|012就是1100|1010=1110
换成十进制是14
第一个:十进制转二进制 第二个:八进制转二进制}
A) 1 B) 0 C) 12 D) 14
int a=3,b=4;
a=a^b;0011
0100
0111
b=b^a;0100
0011
0111
0100
a=a^b;
则执行以上语句后a和b的值分别是____。
A) a=3,b=4 B) a=4,b=3 C) a=4,b=4 D) a=3,b=3
A) 操作数乘以2 B) 操作数除以2 C) 操作数除以16 D) 操作数乘以16
A) 222 B) 10 C) 244 D) 254
b与a做异或运算,使变量a的高4位取反,低4位不变,
则二进制数b的值应是____。
A) 11110000 B) 00001111 C) 11111111 D) 00000000
A) 20 B) 40 C) 60 D) 80
后,x的值是____。
A) 0 B) 1 C) 5 D) 6
输入变量x、y的值(□代表空格),正确的输入是____。
A) 1.25,2.4 B) 1.25□2.4 C) x=1.25,y=2.4 D) x=1.25□y=2.4
A) while(x=y) 5; B) while(0) ;
C) do 2;while(x==b); D) do x++ while(x==10);
A) 1 B) 2 C) 3 D) 4
A) 函数调用 B) double型表达式 C) int型表达式 D) 非法表达式
A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4,
则以下语句中错误的函数调用是 。
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);
A) (n==0) B) (n==1) C) (n!=0) D) (n!=1)
while(i)
switch(i)
{
case 1: i+=1;j++;break;
case 2: i+=2;j++;break;
case j3: i+=3;++;break;
default: i--;j++;break;
}
A) 1 B) 2 C) 3 D) 死循环
正确的语句是____。
A) for(i=1,s=0;(s=s+i*i)<=1000;n=i++) ;
B) for(i=1,s=0;(s=s+i*i)<=1000;n=++i) ;
C) for(i=1,s=0;(s=s+i*++i)<=1000;n=i) ;
D) for(i=1,s=0;(s=s+i*i++)<=1000;n=i) ;
for(x=0,y=10;(y>0)&&(x<4);x++,y-- ) ;
A) 是无限循环 B) 循环次数不定
C) 循环执行4次 D) 循环执行3次
后,变量i的值为____。
A) 3 B) 4 C) 5 D) 6
变量x的值是____。
do
{ x/=y--;
}while(x>y);
A) 1 B) 2 C) 3 D) 程序运行有错误
char a[][20]={"Beijing","shanghai","tianjin","chongqing"}
;
语句printf("%c",a[30]);的输出是____。
A) <空格> B) n C) 不定 D) 数组定义有误
A) 数组首地址 B) 数组的第一个元素值
C) 数组中全部元素的值 D) 数组元素的个数
A) int a[][]={1,2,3,4,5,6}; B) int a[2][]={1,2,3,4,5,6};
C) int a[][3]={1,2,3,4,5,6}; D) int a[2,3]={1,2,3,4,5,6};
A) char s[]="Beijing";
B) char s[20]={"beijing"};
C) char s[20];s="Beijing";
D) char s[20]={'B','e','i','j','i','n','g'};
str不能作为字符串使用的一个是____。
A) char str[]="shanghai";
B) char str[]={"shanghai"};
C) char str[9]={'s','h','a','n','g','h','a','i'};
D) char str[8]={ 's','h','a','n','g','h','a','i'};
/××××××××××××××××××××××××××××××××××××××××/
A) int a(float x[],int n) B) int a(float *x,int n)
C) int a(float x[10],int n) D) int a(float x,int n)
A) 静态变量 B) 动态变量 C) 外部变量 D) 内部变量
A) extern B) register C) auto D) static
A) 函数返回值的数据类型 B) 函数形参的数据类型
C) 调用该函数时的实参的数据类型 D) 任意指定的数据类型
fun1(a)
{ printf("n%d",a);
}
则该函数的数据类型是____。
A) 与参数a的类型相同 B) void型
C) 没有返回值 D) 无法确定
A) swapa(int x,int y) B) swapb(int *x,int *y)
{ int temp; { int temp;
temp=x;x=y;y=temp; temp=x;x=y;y=temp;
} }
C) swapc(int *x,int *y) D) swapd(int *x,int *y)
{ int temp; { int *temp;
temp=*x;*x=*y;*y=temp; temp=x;x=y;y=temp;
} }
A) sqofsina(x)
float x;
{ return(sin(x)*sin(x));
}
B) double sqofsinb(x)
float x;
{ return(sin((double)x)*sin((double)x));
}
C) double sqofsinc(x)
{ return(((sin(x)*sin(x));
}
D) sqofsind(x)
float x;
{ return(double(sin(x)*sin(x)));
double x,y,z(10);
关于此语句的解释,下面说法正确的是____。
A) z是一个数组,它有10个元素。
B) z是一个函数,小括号内的10是它的实参的值。
C) z是一个变量,小括号内的10是它的初值。
D) 语句中有错误。
float fun1(int x,int y)
{ float z;
z=(float)x/y;
return(z);
}
主调函数中有int a=1,b=0;可以正确调用此函数的语句是____。
A) printf("%f",fun1(a,b)); B) printf("%f",fun1(&a,&b));
C) printf("%f",fun1(*a,*b)); D) 调用时发生错误
a(s1,s2)
char s1[],s2[];
{ while(s2++=s1++) ;
}
A) 字符串比较 B) 字符串复制 C) 字符串连接 D) 字符串反向
A) C语言允许函数的递归调用
B) C语言中的continue语句,可以通过改变程序的结构而省略
C) 有些递归程序是不能用非递归算法实现的
D) C语言中不允许在函数中再定义函数
A) scanf("%d", &a); B) scanf("%d", y);
C) printf("%d", a); D) printf("%d", y);
A) p是一个指向一维数组的指针变量
B) p是指针变量,指向一个整型数据
C) p是一个指向函数的指针,该函数的返回值是一个整型
D) 以上都不对
A) 4个指向整型变量的指针变量
B) 指向4个整型变量的函数指针
C) 一个指向具有4个整型元素的一维数组的指针
D) 具有4个指向整型变量的指针元素的一维指针数组
A) p=s+5; B) s=p+s; C) s[2]=p[4]; D) *p=s[0];
A) s[i+10] B) *(s+i) C) *(i+s) D) *((s++)+i)
A) s="12345"; B) *s="12345"; C) ps="12345"; D) *ps="12345";
A) printf("%s",a+1); B) printf("%s",*(a+1));
C) printf("%s",*a+1); D) printf("%s",&a[1][0]);
int (*ptr)[3]=a,*p=a[0];
则以下能够正确表示数组元素a[1][2]的表达式是 。
A) *(*(a+1)+2) B) *(*(p+5)) C) (*ptr+1)+2 D) *((ptr+1)[2])
A) p+=2,*(p++) B) p+=2,*++p C) p+=2,*p++ D) p+=2,++*p
A) 0,1,3,4 B) 1,1,3,4 C) 1,2,2,4 D) 1,2,3,3
变量y的值是____。
A) 1 B) 2 C) 3 D) 4
A) y=++*p++; B) y=++(*p++); C) y=(++*p)++; D) y=(*++p)++;
A) x B) *(ptr--) C) x[6] D) *(--ptr)
A) funa (int *x, int *y) B) funb (int x, int y)
{ int *p; { int t;
p=x;*x=*y;*y=*p; t=x;x=y;y=t;
} }
C) func (int *x, int *y) D) func (int *x, int *y)
{ *x=*y;*y=*x; { *x=*x+*y;*y=*x-*y;*x=*x-*y;
} }
struct sk
{ int a;
float b;
}data ,*p;
如果 p=&data;则对于结构变量data的成员a的正确引用是____。
A)(*).data.a B) (*p).a C) p->data.a D) p.data.a
struct st
{ int n;
struct st *next;
};
static struct st a[3]={1,&a[1],3,&a[2],5,&a[0]},*p;
如果下述语句的显示是2,则对p的赋值是____。
printf("%d",++(p->next->n));
A) p=&a[0]; B) p=&a[1]; C) p=&a[2]; D) p=&a[3];
struct person
{ char name[10];
int age;
}class[10]={"LiMing",29,"ZhangHong",21,"WangFang",22};
下述表达式中,值为72的一个是____。
A) class[0]->age + class[1]->age+ class[2]->age
B) class[1].name[5]
C) person[1].name[5]
D) clase->name[5]
声明:
(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。
(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。
相关推荐
2023年4月山东自考《播音与主持创作基础》练习试题:填空/选择
03-132023年4月山东自考《广告策划》随堂练习试题及答案
03-142023年4月山东自考《广告策划》重点试题及答案
03-142023年4月山东自考《广告策划》练习试题及答案
03-142022年4月山东自考03708《中国近代史纲要》模拟试题一答案解析
01-172022年4月山东自考03708《中国近代史纲要》模拟试题一
01-172022年4月山东自考03708《中国近代史纲要》模拟试题二答案解析
01-172022年4月山东自考03708《中国近代史纲要》模拟试题二
01-172022年4月山东自考03708《中国近代史纲要》模拟试题三答案解析
01-172022年4月山东自考03708《中国近代史纲要》模拟试题三
01-17