设置字符以下错误的赋值语句是_____. 选择答案A. ch = 68; B. ch =“ \\”; C.ch ='\ xef'; D.ch ='\ 123'; C中的int,long,unsigned和char类型数据的转换定律是_____. 选择一个答案Char-> int-> long-> unsigned b. Int-> unsigned-> long-> char c. Char-> int-> unsigned-> long d. Char-> unsigned-> long-> int设a = 2和b = 3;那么表达式a ^ b >> 2的值为_____. 选择答案A. 00000100 B. 00000011 C. 00000110 D. 00000010关于源程序和目标程序之间的关系,以下是不正确的. 选择答案A.用C语言编写的源程序需要由编译器B编译为目标程序. 不同高级语言的编译器应相同,并且全部负责将源程序编译为目标程序程序C.用机器语言编写的源程序程序是目标程序D. 用汇编语言编写的源程序需要由汇编程序汇编为目标程序C语言. 内存中“ \ x5d”占用的字节数是____.
选择答案A. 4 B. 5 C. 1 D. 2以下可用作C标识符的符号是____. 选择答案A.休息B. 2xy C. _abc D.&a3有以下程序段: int a1,a2;字符c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);如果要求a1,a2,c1,c2的值为10、20,A,B,则正确的数据输入是______. 选择答案A. 10 A20B B. 10 A 20 B C. 10A20 B D. 10A 20BC计算机中的短整数占用的字节数是_______. 选择答案A. 1 B. 2 C. 4 D. 3如果存在以下定义和陈述: double r = 1(char*)calloc,* p =&r; * p = r;那么以下陈述是正确的__. 选择答案A. 在双倍r = 1中,* p =&r;. 将r的地址分配给p指向的存储单元. 语句* p = r;上面的* p的含义在两个地方都是相同的,这表明指针变量p被分配了D值. 将变量r的值放回r. 执行下面的块后,变量k的值为__.
int arr [10],i,k = 0;对于(i = 0; i <10; i ++)arr [i] = i;对于(i = 0; i <4; i ++)k + = arr [i] + i;选择答案A. 90 B. 45 C. 20 D. 12如果存在以下定义和句子,则选项中的错误句子是__. 整数a = 4,b = 3,* p,* q,* w; p =&a; q =&b; w = q; q = NULL;选择答案A. * p = * w; * p = b; C.w = p; D. * q = 0;可以正确初始化一维数组a的以下形式是__. 选择答案A. int a [10] =(0,0,0,0,0); B. int a [10] = {,, 1,,2,3}; C. int a [10] = {10 * 1}; D. int a [10] = {}下面的程序将数据输入到数组的所有元素. 填写__以完成功能. #include int main(){int array [5],i = 0;而(i <5)scanf(“%d”,__);返回0;}选择答案A.&数组[+ + i] B.数组+(i ++)C.&数组[i + 1] D.数组+ i以下块是错误的. 错误的原因是__.
int main {int * p,i; char * q(char*)calloc,ch; p =&i; q =&ch; * p = 40; * p = * q; .....}选择答案A. * p地址值存储在其中,因此语句* p = 40无法执行; B.尽管q指向特定的存储单元,但是该单元没有确定的值,因此执行语句* p = * q是没有意义的. C. p和q类型不一致,并且语句无法执行* p = * qD. q没有执行特定的存储单元,因此* q没有实际意义评分: 0.9 / 1指针上的以下操作p在选择答案时是正确的. A. int a [5] = {1,2,3,4,5},* p =&a; * p = 5; B.浮动[5]; int * p = a; C. int a,* p =&a; D. int * p; * p = 2;这个问题检查了指针的操作. 答案A的错误是在定义指针之后,未确定地址. 通过* p = 2将内容写入不确定的地址很危险,这可能导致程序意外终止. 错误是指针p的基本类型为int,数组a的基本类型也为int,但&a的基本类型为int [5],因此int * p =&a不满足指针分配类型;答案D错误是指针p的基本类型为int类型,但数组a的基本类型为浮点类型,因此int * p =&a不满足指针分配类型一致的要求;答案C是正确的,变量a是int类型,则&a是基于int类型的指针值. 这个答案意味着指针p获得一个简单变量的地址,而不是一维数组的起始地址.
在执行以下程序段后,变量k的值为__. int arr [10],i,k = 0;对于(i = 0; i <10; i ++)arr [i] = i;对于(i = 0; i <4; i ++)k + = arr [i] + i;选择答案A. 90 B. 12 C. 45 D. 2如果您定义int m [10] = {9,4,12,8,2,10,7,5,1,3},* p = m 以下哪个表达式与其他三个表达式__不同. 选择答案A. sizeof(m)B. sizeof(p)C. sizeof(* p)D. sizeof(* m)让int s [10]; * p = s;以下不正确的表达式是__. 选择答案A. s [2] = p [4]; s = p + s; * p = s [0]; D.p = s + 5; 8分: 如果我的I = 10,则为0.9 / 1;执行以下过程后,变量I的正确结果是__. 切换(I){案例9: I ++;案例10: 我++;案例11: 我++;打破;默认值: I ++;}选择答案A. 12B. 10 C. 11 D. 13.得分: 0.7 / 1.如果定义了带有返回值的函数,则调用说明中的错误为__.
选择答案A. 一个函数调用可以用作一个函数参数B. 一个函数调用可以作为一个独立的语句C存在. 一个函数调用可以出现在表达式D中. 一个函数调用可以提交为函数参数得分: 0.8 / 1具有以下程序段: static char b = 2;无效Y {静态浮点d = 4; .......} int a = 1;无效X {int c = 3; ......关于块中每个变量的属性,以下描述中的错误是__. 选择答案A. a是全局变量,可以访问函数X,不能访问函数Y B. c是动态变量,函数X是可访问的,函数Y是不可访问的C. d是静态变量,并且函数X和Y是可访问的D. b是全局变量. 函数X和Y都可以访问得分: 0.8 / 1复合语句的以下描述不正确. 选择一个答案. 答: 复合语句可以定义自己的变量. B.在复合语句中定义的变量仍然可以在复合语句之外的此函数中使用. C.复合语句变量和函数的局部变量可以具有相同的名称. 括在括号中的一组语句的得分为14: 0/1如果正确定义了指针p,以使p指向两个连续的字符型动态存储单元,则错误的语句是选择答案.
A. p =(char *)malloc(2 * sizeof(字符)); p =(char *)malloc(2); C = p(char *)calloc(2,sizeof(字符)); p = 2 *(char *)malloc(sizeof(字符)); [分析]这个问题主要研究两个函数malloc和calloc的调用形式. malloc请求的连续字节总数; calloc函数只有一个参数,指示该函数需要两个参数,第一个参数指示相同空间的编号,第二个参数指示每个元素占用几个单位. 这两个函数的返回值都是void *,因此需要强制转换. 根据以上分析,以上答案B,C,A都是正确答案,因为char类型的值只需要一个字节,所以正确应用了两个连续的字符类型动态单位,实际上与答案相同答案D的错误是它对malloc函数的参数的含义不能正确理解. 得分: 0.8 / 1如果: #include void f(int n); int main(){void f(int n); f(5);返回0;} void f(int n){printf(“%d \ n”,n);}以下描述中不正确的是__.
选择答案A. 如果仅在主功能中描述了功能f,则只能在主功能B中正确调用功能f. 如果在主功能之前描述了功能f,则主功能和它的函数f C可以在其他后续函数中正确调用. 对于上述程序,系统在编译时将提示错误消息: 提示重复f函数D的描述. f函数没有返回值,因此可以使用void将其类型定义为无类型分数: 0.8 / 1编写程序的运行结果. #include void f(int n){if {f(n / 8); printf(“%d”,n%8);}} int main(){f(123);返回0; }得分: 0.7 / 1如果定义: int x = 1,y = 2; int * const p =&x;,以下语句正确__________. 选择答案A. p ++B. * p = y C. scanf(“%d”,* p); D. p =&y; [分析]这个问题检查了常量类型的各种表示形式的含义和要求. 在此问题中,int * const表示不允许更改指针p,但是可以更改p指向的内容. 因此,答案A和B尝试更改指针p的值是错误的;答案D本身的scanf函数参数错误. 第二个参数不应为* p;答案C是改变p指向什么,所以它是正确的.
得分: 0.9 / 1定义如下: int a = 5,b = 3; const int * p =&a;以下陈述是合法的. 选择一个答案P =&b; b. P =&b; * p + = 2; C. * P = 2; d. P--;定义如下: int a = 5,b = 3; int * const p =&a;以下陈述是合法的. 选择答案A. B. p--; C. * p = 2; D. p =&b; * p + = 2;以下程序的输出是_________. #include int main {int b = 5; #define b 2 #define f(x)b * x int y = 3; printf(“%d,”,f(y + 1)); #undef b printf(“%d,”,f(y + 1)); #定义b 3 printf(“%d \ n”,f(y + 1)); return 0;}答案: 7,16,10提交
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-151077-1.html