C语言前置加加和后置加加的题.pdfVIP

  • 21
  • 0
  • 约2.33万字
  • 约 15页
  • 2022-07-04 发布于上海
  • 举报
C语言前置加加和后置加加的题 2022/7/2 C语言前置加加和后置加加的题 一、选择题 (请在 【答题】菜单上选择 【选择题】命令,启动选择题测试程序, 照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用 鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计 时。) 1、下面结构体的定义语句中,错误的是 (  )。 A . struct ord {int x; int y; int z; } struct ord a; B. struct ord {int x; int y; int z; }; struct ord a; C . struct ord {int x; int y; int z; } a; D. struct {int x; int y; int z; } a; 『正确答案』 A 『答案解析』 C语言中结构体变量的定义有三种方法:①定义结构体类型的同时定义结构体变量,如C项;②使用无名结构体类型定义结构 体变量,如D项;③先定义结构体类型,后定义结构体变量,如B项,A 项错在分别定义结构体类型与结构体变量时需要 用“;”隔开。故答案选择A 选项。 2、设有某函数的说明为 int* func(int a[10] int n); 则下列叙述中,正确的是 (  )。 A . 形参a对应的实参只能是数组名 B. 说明中的a[10]写成a[]或*a效果完全一样 C . func的函数体中不能对a进行移动指针(如a++)的操作 D. 只有指向10个整数内存单元的指针,才能作为实参传给a 『正确答案』 B 『答案解析』 考查数组名作为函数参数。数组名作为函数参数时,只传递数组的首地址而不检查形参数组的长度,所以形参表中可以不给 出形参数组的长度,形参数组和实参数组长度也可以不同,选项D错; a[10]、a[]、*a做形参都是接受实参数组首地址,效 果一样,B正确。传递给形参的实参可以是数组名,还可以是指向该数组的指针变量,选项A 错。数组名可以看做一个指针常 量,对其进行自加自减运算相当于指针变量的自加自减,选项C错。答案选择B选项。 3、有以下程序 #include stdio.h main() {  int a b;  for(a=0; a3; a++)  {   scanf(%d b);   switch(b)   {    default : printf(%d ++b);    case 1: printf(%d ++b);    case 2: printf(%d ++b);   }  } } 执行时输入:1 2 3 回车,则输出结果是 (  )。 A . 2 3 3 4 5 6 B. 2 3 4 编号:8e9d714a869c7175f5a3e837a34d946c 1 C语言前置加加和后置加加的题 2022/7/2 C . 2 2 3 4 4 4 D. 2 3 4 3 4 4 『正确答案』 A 『答案解析』 考查C语言中的switch-case语句。执行switch-case语句时,一定会先进行匹配,匹配成功则执行当前case语句,再根据是否有 break,判断是否继续输出,或是跳出判断。程序中输入1时,与case 1匹配成功,执行后面的输出语句,输出2,且此时 b=2,因为后面没有break语句,继续执行下一条输出语句,输出3 。继续输入2时,与case 2匹配成功,执行后面的输出语 句,输出3 。输入3时,没有可匹配的case语句,执行default语句,输出4 ,b变为4 ;后面没有break语句,继续执行

文档评论(0)

1亿VIP精品文档

相关文档