A、2
B、3
C、4
D、5
答案:A
解析:题目解析 根据题目中的定义 static int x[2][3]={2,3,4,5,6,7},我们可以知道数组x是一个二维数组,其中有2行3列。表达式x[0]表示数组x的第一行,因此,对应的元素是{2,3,4}。由于表达式x[0]是一个指向数组的指针,所以通过解引用操作符*可以获取该指针指向的值。因此,*x[0]的值为2。因此,答案选项A是正确的。
A、2
B、3
C、4
D、5
答案:A
解析:题目解析 根据题目中的定义 static int x[2][3]={2,3,4,5,6,7},我们可以知道数组x是一个二维数组,其中有2行3列。表达式x[0]表示数组x的第一行,因此,对应的元素是{2,3,4}。由于表达式x[0]是一个指向数组的指针,所以通过解引用操作符*可以获取该指针指向的值。因此,*x[0]的值为2。因此,答案选项A是正确的。
A. 1
B. 2
C. 3
D. 4
解析: 在C中,已知定义:int b[]={1,2,3,4},y,*p=b;执行y=*p++后,y的值为( )。 A.1 B.2 C.3 D.4 答案:A 解析: 这道题涉及到指针和后缀递增运算符。首先,定义了一个整型数组b,其中包含四个元素。然后,定义了一个整型变量y和一个指向数组b的指针p,指针p指向数组的第一个元素。接下来,执行y=p++操作。这个表达式的含义是将指针p所指向的元素的值赋给变量y,并且将指针p递增到下一个元素。在这个表达式中,后缀递增运算符++的优先级高于解引用运算符,所以先执行递增操作,然后再执行解引用操作。因此,y的值为指针p原来指向的元素的值,即1。所以答案为A。
A. 97 98
B. 97 b
C. a 98
D. a b
解析: 在给定的代码中,有两个字符变量c1和c2分别初始化为97和98。然后,使用printf函数将c1和c2的值作为参数进行输出。%c是格式化输出的占位符,用于输出一个字符。%d是用于输出整数的占位符。 因此,printf("%d %c",c1,c2)将输出结果为"97 b"。 因此,答案是B. 97 b。
A. 是无限循环
B. 循环次数不定
C. 执行4次
D. 执行3次
解析:在C中,以下的for循环()。 for(x=0,y=0; (y!=123)&&(x<4); x++ ); 答案: C. 执行4次 解析: 循环的初始条件是x=0和y=0,循环条件是y!=123且x<4。循环体中只有一个空语句x++,每次循环x自增1。因为x的初始值是0,所以循环会执行4次,当x=4时循环条件不满足,退出循环。
A. 地址
B. 值传递
C. 由实参传给形参,并由形参传回给实参
D. 由用户指定传递方式
解析:C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是值传递。选项B表示值传递,即在函数调用时,实参的值被复制给形参,函数内对形参的修改不会影响实参的值。
A. char s[5]={"ABCDEF"};
B. char s[5] ={'a', 'b' ,'c', 'd', 'e','f'};
C. char *s; s="ABCDEF";
D. char s; scanf("%s",s);
解析:的答案是C。这是因为在C中,字符串是以字符数组的形式表示的,而指针变量可以用来指向字符串常量。选项C中的语句 char *s; s="ABCDEF"; 定义了一个指针变量 s,并将其指向字符串常量 "ABCDEF" 的首地址,因此是正确的字符串赋值操作。
A. 4
B. 3
C. 2
D. 1
解析: 题目给定了a=3,b=4,c=5,d=6,要求求解表达式b
A. 执行10次
B. 无限循环
C. 一次也不执行
D. 执行一次
解析:在C中,设已定义k为int整型变量,则有下面while循环执行()次。 k=10; while(k==0) k=k-1; 答案: C. 一次也不执行 解析: 循环的条件是k==0,而k的初始值是10,因此循环条件不满足,所以循环一次也不执行。
A. 30
B. 20
C. 24
D. 25
解析:题目解析 根据题目中的定义 float a[5][4],我们可以知道数组a是一个二维数组,其中有5行4列。要确定数组a中的元素个数,可以通过计算行数和列数的乘积来得到。所以,元素个数为5行乘以4列,即 5 * 4 = 20。因此,答案选项B是正确的。
A. 20
B. 32
C. 33
D. 21
解析: 题目给出了一个变量定义 a=0x21。在 printf("%d",a) 这行代码中,%d 表示按十进制输出变量的值。0x21 是一个十六进制数,它转换为十进制数为33。所以答案选项 C.33 是正确的。
A. 10 10
B. 12 12
C. 11 10
D. 11 13
解析:题目解析 这道题涉及到C语言中的前缀递减运算符(--)和前缀递增运算符(++)。首先,a和b被初始化为12。然后,--a表示先将a的值减1,结果为11。++b表示先将b的值增加1,结果为13。因此,printf语句将输出11和13。所以,答案是D. 11 13。