C语言程序设计课程作业题库解析(共76页).doc
精选优质文档-倾情为你奉上1. 程序的三种基本结构是( ) 顺序结构,循环结构,递归结构 顺序结构,循环结构,选择结构 选择结构,循环结构,递归结构 顺序结构,选择结构,递归结构nclude main()int a=1,b=10;dob-=a;a+;while(b-<0);本题分值: 4.0 用户得分: 4.0 用户解答: 顺序结构,循环结构,选择结构 标准答案: 顺序结构,循环结构,选择结构 2. 若有定义typedef char STRING255; STRING s; 则s是 字符指针数组变量 字符指针变量 字符变量 字符数组变量本题分值: 4.0 用户得分: 4.0 用户解答: 字符数组变量 标准答案: 字符数组变量 3. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( ) b=a/2 b=a%2 b=8-(3,a-5) b=a>5?4:2本题分值: 4.0 用户得分: 4.0 用户解答: b=a%2 标准答案: b=a%2 4. 下列运算符中优先级最低的是( ) ? : && + !=本题分值: 4.0 用户得分: 4.0 用户解答: ? : 标准答案: ? : 5. 若要求表示a不等于0的关系,错误的表达式是( ) a<>0 a!=0 a a<0| |a>0本题分值: 4.0 用户得分: 4.0 用户解答: a<>0 标准答案: a<>0 6. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( ) A%2= =1 !(A%2= =0) !(A%2) A%2本题分值: 4.0 用户得分: 4.0 用户解答: !(A%2) 标准答案: !(A%2) 7. a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf('%o,%o,%o,%o',c=a,c=a&b,c=a|b,c=ab)的输出结果为( ) ,101,133,32 ,0123,0333,032 ,0101,0133,032 ,0123,0133,034本题分值: 4.0 用户得分: 0.0 用户解答: ,0101,0133,032 标准答案: ,101,133,32 8. 下面程序的运行结果是( )#includemain()int i,b,k=0;for(i=1;i<=5;i+)b=i%2;while(b->=0) k+;printf('%d,%d',k,b); 3,-1 8,-1 3,0 8,-2本题分值: 4.0 用户得分: 0.0 用户解答: 8,-1 标准答案: 8,-2 9. 对说明语句int a10=6,7,8,9,10;的正确理解是( ) 将5个初值依次a1至a5 将5个初值依次a0至a4 将5个初值依次a5至a9 将5个初值依次a6至a10本题分值: 4.0 用户得分: 4.0 用户解答: 将5个初值依次a0至a4 标准答案: 将5个初值依次a0至a4 10. 以下有关宏替换的叙述不正确的是( ) 宏替换不占用运行时间 宏名无类型 宏替换只是字符替换 宏名必须用大写字母表示本题分值: 4.0 用户得分: 4.0 用户解答: 宏名必须用大写字母表示 标准答案: 宏名必须用大写字母表示 11. 若已定义int a;下面对(1)(2)两个语句(1)int *p=&a; (2)*p=a;的正确解释是( ) 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值 (1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给指针变量p (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p本题分值: 4.0 用户得分: 4.0 用户解答: (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p 标准答案: (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p 12. 若有以下定义int a5=1,2,3,4,5,*p,i;i=3;p=a;,则对数组元素地址的正确引用是( ) &p a+ &(p+1) &pi本题分值: 4.0 用户得分: 0.0 用户解答: a+ 标准答案: &pi 13. 函数rewind的作用是( ) 使位置指针指向文件的末尾 将位置指针指向文件中所要求的特定位置 使位置指针重新返回文件的开头 使位置指针自动移到下一个字符位置本题分值: 4.0 用户得分: 4.0 用户解答: 使位置指针重新返回文件的开头 标准答案: 使位置指针重新返回文件的开头 14. 下面对typedef不正确的叙述是 用typedef可以定义各种类型名,但不能用来定义变量 用typedef可以增加新的基本数据类型 用typedef只是将已存在的类型用一个新的标识符表示 使用typedef有利于程序的通用和移植 本题分值: 4.0 用户得分: 4.0 用户解答: 用typedef可以增加新的基本数据类型 标准答案: 用typedef可以增加新的基本数据类型 15. 以下叙述中不正确的是( ) 预处理命令都必须以#开始 在C程序中凡是以#开始的语句行都是预处理命令行 C程序在执行过程中对预处理命令行进行处理 以下是正确的宏定义 #define IBM_PC本题分值: 4.0 用户得分: 0.0 用户解答: 以下是正确的宏定义 #define IBM_PC 标准答案: C程序在执行过程中对预处理命令行进行处理 16. C语言中while和do while循环的主要区别是( ) do-while的循环至少无条件执行一次 while循环控制条件比do-while的循环控制条件严格 do-while允许从外部转入到循环体内 do-while的循环体不能是复合语句本题分值: 4.0 用户得分: 4.0 用户解答: do-while的循环至少无条件执行一次 标准答案: do-while的循环至少无条件执行一次 17. 在C语言中,每个语句和数据定义是用( )结束 句号 逗号 分号 括号本题分值: 4.0 用户得分: 4.0 用户解答: 分号 标准答案: 分号 18. 设以下变量均为int类型,则值不等于7的表达式是( ) x=y=6,x+y,x+1 x=y=6,x+y,y+1 x=6,x+1,y=6,x+y y=6,y+1,x=y,x+1本题分值: 4.0 用户得分: 4.0 用户解答: x=6,x+1,y=6,x+y 标准答案: x=6,x+1,y=6,x+y 19. 在位运算中,操作数每左移2位,相当于( ) 操作数*2 操作数/2 操作数*4 操作数/4本题分值: 4.0 用户得分: 0.0 用户解答: 操作数*2 标准答案: 操作数*4 20. 设有以下程序:#inlude main()int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);上述程序的输出结果是( ) 运行错误 100 i的地址 j的地址本题分值: 4.0 用户得分: 0.0 用户解答: 运行错误 标准答案: 100 21. 一下关于宏替换的叙述不正确的是 宏替换只是字符替换 宏名无类型 宏替换不占用运行时间 宏替换不占用编译时间本题分值: 4.0 用户得分: 4.0 用户解答: 宏替换不占用编译时间 标准答案: 宏替换不占用编译时间 二 判断题1. C语言中的main函数必须位于程序的最前面 错 对本题分值: 4.0 用户得分: 4.0 用户解答: 错 标准答案: 错 2. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3) 错 对本题分值: 4.0 用户得分: 4.0 用户解答: 对 标准答案: 对 1. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( ) scanf('%d%lx,%le',&x,&y,&z) scanf('%2d*%d%lf',&x,&y,&z) scanf('%x%*d%o',&x,&y) scanf('%x%o%6.2f',&x,&y,&z)本题分值: 4.0 用户得分: 0.0 用户解答: scanf('%2d*%d%lf',&x,&y,&z) 标准答案: scanf('%x%o%6.2f',&x,&y,&z) 2. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( ) b=a/2 b=a%2 b=8-(3,a-5) b=a>5?4:2本题分值: 4.0 用户得分: 4.0 用户解答: b=a%2 标准答案: b=a%2 3. 下面对typedef不正确的叙述是 用typedef可以定义各种类型名,但不能用来定义变量 用typedef可以增加新的基本数据类型 用typedef只是将已存在的类型用一个新的标识符表示 使用typedef有利于程序的通用和移植 本题分值: 4.0 用户得分: 4.0 用户解答: 用typedef可以增加新的基本数据类型 标准答案: 用typedef可以增加新的基本数据类型 4. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( ) 返回若干个系统默认值 返回一个用户所希望的函数值 返回一个不确定的值 没有返回值本题分值: 4.0 用户得分: 4.0 用户解答: 返回一个不确定的值 标准答案: 返回一个不确定的值 5. 以下关于运算符优先顺序的描述中正确的是( ) 关系运算符<算术运算符<赋值运算符<逻辑运算符 逻辑运算符<关系运算符<算术运算符<赋值运算符 赋值运算符<逻辑运算符<关系运算符<算术运算符 算术运算符<关系运算符<赋值运算符<逻辑运算符本题分值: 4.0 用户得分: 4.0 用户解答: 赋值运算符<逻辑运算符<关系运算符<算术运算符 标准答案: 赋值运算符<逻辑运算符<关系运算符<算术运算符 6. 下面哪个表达式的值为4: 11/3 11.0/3 (float)11/3 (int)(11.0/3+0.5) 本题分值: 4.0 用户得分: 4.0 用户解答: (int)(11.0/3+0.5) 标准答案: (int)(11.0/3+0.5) 7. 以下不正确的说法为( ) 在不同函数中可以使用相同名字的变量 形式参数是局部变量 在函数内定义的变量只在本函数范围内有效 在函数内的复合语句中定义的变量在本函数范围内有效本题分值: 4.0 用户得分: 4.0 用户解答: 在函数内的复合语句中定义的变量在本函数范围内有效 标准答案: 在函数内的复合语句中定义的变量在本函数范围内有效 8. 下面程序#include main()int y=10;do y-;while(-y);printf('%d ',y-);的运行结果是( ) 1 -1 8 0本题分值: 4.0 用户得分: 4.0 用户解答: 0 标准答案: 0 9. 写出下面程序的输出结果( )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;printf('%d',x); 11 1 0 1 11 -3 2 1 12 -3 2 1 11 1 2 1本题分值: 4.0 用户得分: 4.0 用户解答: 11 1 0 1 标准答案: 11 1 0 1 10. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被包含文件的方式是( ) 仅仅搜索当前目录 仅仅搜索源程序所在目录 直接按系统设定的标准方式搜索目录 先在源程序所在目录搜索,再按系统设定的标准方式搜索本题分值: 4.0 用户得分: 4.0 用户解答: 直接按系统设定的标准方式搜索目录 标准答案: 直接按系统设定的标准方式搜索目录 11. 执行以下程序后的输出结果是( )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); 0111 1111 0101 0100本题分值: 4.0 用户得分: 0.0 用户解答: 0111 标准答案: 0101 12. 定义如下变量和数组:int k,a33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )。for(k=0;k<3;k+) printf('%d ',ak2-k); 3 5 7 3 6 9 1 5 9 1 4 7本题分值: 4.0 用户得分: 0.0 用户解答: 1 5 9 标准答案: 3 5 7 13. 下列运算符中优先级最低的是( ) ? : && + !=本题分值: 4.0 用户得分: 4.0 用户解答: ? : 标准答案: ? : 14. 设有程序段t=0;while(printf('*')t+;if(t<3) break;下面描述正确的是( ) 其中循环控制表达式与0等价 其中循环控制表达式与'0'等价 其中循环控制表达式是不合法的 以上说法都不对本题分值: 4.0 用户得分: 4.0 用户解答: 其中循环控制表达式与'0'等价 标准答案: 其中循环控制表达式与'0'等价 15. C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出16. 项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0) 不予输出 输出空格 照样输出 输出不定值或0本题分值: 4.0 用户得分: 4.0 用户解答: 不予输出 标准答案: 不予输出 16. 设有以下程序:#inlude main()int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);上述程序的输出结果是( ) 运行错误 100 i的地址 j的地址本题分值: 4.0 用户得分: 0.0 用户解答: 运行错误 标准答案: 100 17. 系统的标准输入文件是指( ) 键盘 显示器 软盘 硬盘本题分值: 4.0 用户得分: 4.0 用户解答: 键盘 标准答案: 键盘 18. 若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是( ) exp=0 exp!=0 exp=1 exp!=1本题分值: 4.0 用户得分: 4.0 用户解答: exp!=0 标准答案: exp!=0 19. 下面程序main()int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);的输出结果是( ) 14 40 20 0 20 4 14 4本题分值: 4.0 用户得分: 4.0 用户解答: 20 0 标准答案: 20 0 20. 有以下程序:#includemain()int x,y; printf('Enter an integer(x):');scanf('%d',&x);if(x+<0) y=-1;else if(x=0) y=0;else y=1; printf('%d',y);现从键盘上输入-1,则程序的输出是( ) 0 -1 1 不确定的值本题分值: 4.0 用户得分: 0.0 用户解答: 1 标准答案: -1 21. 以下选项中可作为C语言合法整数的是 10110B 0386 0Xffa x2a2本题分值: 4.0 用户得分: 0.0 用户解答: 10110B 标准答案: 0Xffa 二 判断题1. 已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf('%o%x%e',&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格) 错 对本题分值: 4.0 用户得分: 0.0 用户解答: 错 标准答案: 对 2. 在C 语言中,共用体类型属于构造类型 错 对本题分值: 4.0 用户得分: 4.0 用户解答: 对 标准答案: 对 3. 使用continue和break语句,都可以使得C程序中断执行 错 对本题分值: 4.0 用户得分: 4.0 用户解答: 错 标准答案: 错 4. 若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段 错 对本题分值: 4.0 用户得分: 4.0 用户解答: 错 标准答案: 错 1. 下面程序#include main()int y=10;do y-;while(-y);printf('%d ',y-);的运行结果是( ) 1 -1 8 0本题分值: 4.0 用户未作答 标准答案: 0 2. C语言规定:在一个源程序中,main函数的位置( ) 必须在最开始 必须在系统调用的库函数的后面 可以任意 必须在最后本题分值: 4.0 用户未作答 标准答案: 可以任意 3. 在以下的运算符中,优先级最高的运算符是 > = % &&本题分值: 4.0 用户未作答 标准答案: % 4. C语言中while和do while循环的主要区别是( ) do-while的循环至少无条件执行一次 while循环控制条件比do-while的循环控制条件严格 do-while允许从外部转入到循环体内 do-while的循环体不能是复合语句本题分值: 4.0 用户未作答 标准答案: do-while的循环至少无条件执行一次 5. 字符串“China”在内存中占用几个字节 3 4 6 8本题分值: 4.0 用户未作答 标准答案: 6 6. 若有定义:int (*p)4;则标识符p( ) 是一个指向整型变量的指针 是一个指针数组名 是一个指针,它指向一个含有四个整型元素的一维数组 定义不合法本题分值: 4.0 用户未作答 标准答案: 是一个指针,它指向一个含有四个整型元素的一维数组 7. 一下关于宏替换的叙述不正确的是 宏替换只是字符替换 宏名无类型 宏替换不占用运行时间 宏替换不占用编译时间本题分值: 4.0 用户未作答 标准答案: 宏替换不占用编译时间 8. 下面程序的运行结果是( )#include main()int a6,i;for(i=1;i<6;i+)ai=9*(i-2+4*(i>3)%5;printf('%2d',ai); 4 0 4 0 4 -4 0 4 0 3 -4 0 4 4 3 -4 0 4 4 0本题分值: 4.0 用户未作答 标准答案: -4 0 4 4 3 9. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ) extern register auto static本题分值: 4.0 用户未作答 标准答案: static 10. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( ) 返回若干个系统默认值 返回一个用户所希望的函数值 返回一个不确定的值 没有返回值本题分值: 4.0 用户未作答 标准答案: 返回一个不确定的值 11. 下面程序的运行结果是( )#includemain()int i,b,k=0;for(i=1;i<=5;i+)b=i%2;while(b->=0) k+;printf('%d,%d',k,b); 3,-1 8,-1 3,0 8,-2本题分值: 4.0 用户未作答 标准答案: 8,-2 12. 对说明语句int a10=6,7,8,9,10;的正确理解是( ) 将5个初值依次a1至a5 将5个初值依次a0至a4 将5个初值依次a5至a9 将5个初值依次a6至a10本题分值: 4.0 用户未作答 标准答案: 将5个初值依次a0至a4 13. 以下函数的功能对应于 int fun(char *s,char *t) while (*s)&&(*t)&&(*t=*s) t+; s+; return(*s-*t); strlen(s)+strlen(t) strcmp(s,t) strcpy(s,t) strcat(s,t)本题分值: 4.0 用户未作答 标准答案: strcmp(s,t) 14. 以下对C语言描述中正确的是( ) C语言源程序中可以有重名的函数 C语言源程序中要求每行只能书写一条语句 C语言源程序中,注释可以出现在任何位置 最小的C源程序中没有任何内容本题分值: 4.0 用户未作答 标准答案: C语言源程序中,注释可以出现在任何位置 15. 下面程序main()int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);的输出结果是( ) 14 40 20 0 20 4 14 4本题分值: 4.0 用户未作答 标准答案: 20 0 16. 在位运算中,操作数每左移2位,相当于( ) 操作数*2 操作数/2 操作数*4 操作数/4本题分值: 4.0 用户未作答 标准答案: 操作数*4 17. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( ) b=a/2 b=a%2 b=8-(3,a-5) b=a>5?4:2本题分值: 4.0 用户未作答 标准答案: b=a%2 18. 程序段的基本结构中,不包含( ) 函数结构 循环结构 顺序结构 分支结构本题分值: 4.0 用户未作答 标准答案: 函数结构 19. 写出下面程序的输出结果( )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;printf('%d',x); 11 1 0 1 11 -3 2 1 12 -3 2 1 11 1 2 1本题分值: 4.0 用户未作答 标准答案: 11 1 0 1 20. 有以下程序:#includemain()int x,y; printf('Enter an integer(x):');scanf('%d',&x);if(x+<0) y=-1;else if(x=0) y=0;else y=1; printf('%d',y);现从键盘上输入-1,则程序的输出是( ) 0 -1 1 不确定的值本题分值: 4.0 用户未作答 标准答案: -1 21. 下面是对s的初始化,其中不正确的是( ) char s5='abc' char s5='a','b','c' char s5='' char s5='abcde'本题分值: 4.0 用户未作答 标准答案: char s5='abcde' 二 判断题1. C语言中形参到实参传递是双向的 错 对本题分值: 4.0 用户未作答 标准答案: 错 2. 下列语句newnext=head;head=new;可以完成建立2结点的单向链表的功能 错 对本题分值: 4.0 用户未作答 标准答案: 对 3. main()int x,y,z;x=1;y=1;z=0;x=x|y&&z;printf('%d,%d',x,x&&!y|z);程序的运行结果是1,1 错 对本题分值: 4.0 用户未作答 标准答案: 错 4. 使用continue和break语句,都可以使得C程序中断执行 错 对本题分值: 4.0 用户未作答 标准答案: 错 1. 若有以下定义, int k=7,x=12, 则能使值为3的表达式是( ) x%=k%=5 x%=k-k%5 x%=(k-k%5) (x%=k)-(k%=5)本题分值: 4.0 用户得分: 4.0 用户解答: (x%=k)-(k%=5) 标准答案: (x%=k)-(k%=5) 2. C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0) 不予输出 输出空格 照样输出 输出不定值或0本题分值: 4.0 用户得分: 4.0 用户解答: 不予输出 标准答案: 不予输出 3. 函数ftell的作用是( ) 取得当前文件指针的位置,该位置为相对于文件开头的位移量表示 取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示 出错时返回值为0 以上叙述都不正确本题分值: 4.0 用户得分: 4.0 用户解答: 取得当前文件指针的位置,该位置为相对于文件开头的位移量表示 标准答案: 取得当前文件指针的位置,该位置为相对于文件开头的位移量表示 4. 设有以下程序:#inlude main()int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);上述程序的输出结果是( ) 运行错误 100 i的地址 j的地址本题分值: 4.0 用户得分: 0.0 用户解答: 运行错误 标准答案: 100 5. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( ) 返回若干个系统默认值 返回一个用户所希望的函数值 返回一个不确定的值 没有返回值本题分值: 4.0 用户得分: 0.0 用户解答: 没有返回值 标准答案: 返回一个不确定的值 6. 要打开一个已存在的非空文件file用于修改,选择正确的语句 fpfopen('file','r') fp=fopen('file','w') fp=fopen('file','r+') fp=fopen('file','w+') 本题分值: 4.0 用户得分: 4.0 用户解答: fp=fopen('file','r+') 标准答案: fp=fopen('file','r+') 7. 系统的标准输入文件是指( ) 键盘 显示器 软盘 硬盘本题分值: 4.0 用户得分: 4.0 用户解答: 键盘 标准答案: 键盘 8. 以下叙述中正确的是( ) 在程序的一行上可以出现多个有效的预处理命令行 使用带参的宏时,参数的类型应与宏定义时的一致 宏替换不占用运行时间,只占用编译时间 以下定义中C R是称为宏名的标识符#define C R 045本题分值: 4.0 用户得分: 4.0 用户解答: 宏替换不占用运行时间,只占用编译时间 标准答案: 宏替换不占用运行时间,只占用编译时间 9. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用''括起时,寻找被包含文件的方式是( ) 直接按照系统设定的标准方式搜索目录 先在源程序所在目录搜索,再按照系统设定的标准方式搜索 仅仅搜索源程序所在目录 仅仅搜索当前目录本题分值: 4.0 用户得分: 0.0 用户解答: 直接按照系统设定的标准方式搜索目录 标准答案: 先在源程序所在目录搜索,再按照系统设定的标准方式搜索 10. 表达式a<b|c&d的运算顺序为( )="" <="" div=""> &,<,| &,|,< <,|,& <,&,|本题分值: 4.0 用户得分: 0.0 用户解答: &,<,| 标准答案: <,&,| 11. C语言中while和do while循环的主要区别是( ) do-while的循环至少无条件执行一次 while循环控制条件比do-while的循环控制条件严格 do-while允许从外部转入到循环体内 do-while的循环体不能是复合语句本题分值: 4.0 用户得分: 4.0 用户解答: do-while的循环至少无条件执行一次 标准答案: do-while的循环至少无条件执行一次 12. 已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是( ) k=*p1+*p2 p2=k p1=p2 k=*p1*(*p2)本题分值: 4.0 用户得分: 4.0 用户解答: p2=k 标准答案: p2=k 13. 以下程序的运行结果为( )#include main()struct dateint year,month,day;today; printf('d ',sizeof(struct date); 6 8 10 12本题分值: 4.0 用户得分: 4.0 用户解答: 6 标准答案: 6 14. 字符串“China”在内存中占用几个字节 3 4 6 8本题分值: 4.0 用户得分: 4.0 用户解答: 6 标准答案: 6 15. C语言中合法的字符常量是 ”H” He p本题分值: 4.0 用户得分: 0.0 用户解答: ”H” 标准答案: 16. 若使用一位数组名作为函数实参,则以下正确的说法是( ) 必须在主调函数中说明此数组的大小 实参数组类型与形参数组类型可以不匹配 在被调函数中,不需要考虑形参数组的大小 实参数组名与形参数组名必须一致本题分值: 4.0 用户得分: 0.0 用户解答: 必须在主调函数中说明此数组的大小 标准答案: 在被调函数中,不需要考虑形参数组的大小 17. 以下不正确的说法为( ) 在不同函数中可以使用相同名字的变量 形式参数是局部变量 在函数内定义的变量只在本函数范围内有效 在函数内的复合语句中定义的变量在本函数范围内有效本题分值: 4.0 用户得分: 4.0 用户解答: 在函数内的复合语句中定义的变量在本函数范围内有效 标准答案: 在函数内的复合语句中定义的变量在本函数范围内有效 18. 若有定义typedef char STRING255; STRING s; 则s是 字符指针数组变量 字符指针变量 字符变量 字符数组变量本题分值: 4.0 用户得分: 4.0 用户解答: 字符数组变量 标准答案: 字符数组变量 19. 以下叙述中不正确的是( ) 预处理命令都必须以#开始 在C程序中凡是以#开始的语句行都是预处理命令行 C程序在执行过程中对预处理命令行进行处理 以下是正确的宏定义 #define IBM_PC本题分值: 4.0 用户得分: 4.0 用户解答: C程序在执行过程中对预处理命令行进行处理 标准答案: C程序在执行过程中对预处理命令行进行处理 20. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( ) scanf('%d%lx,%le',&x,&y,&z) scanf('%2d*%d%lf',&x,&y,&z) scanf('%x%*d%o',&x,&y) scanf('%x%o%6.2f',&x,&y,&z)本题分值: 4.0 用户得分: 4.0 用户解答: scanf('%x%o%6.2f',&x,&y,&z) 标准答案: scanf('%x%o%6.2f',&x,&y,&z) 21. 若数组a有m列,则alij之前的数组元素个数为( ) (i-1)*(i-1) i*m+j+1