一、选择正确的答案填写在空白处
C语言规定C程序中的标识符是一C组成的。
A)由任意顺序的字符B)仅由字母和数字
C)由字母、数字和下划线D)由字母、数字作为首字符的任意字符串
下列数据中D 是C语言规定的合法数据常量。
AB) 0X37GFC)07182D) 0X87AF
C语言包括C 种基本的程序结构。
A) 1B)2C)3D) 4
C语言中,printf(tt%-8.2f\n,,,a)要求输出的变量类型及格式要求为B
A)整型数,右对齐B)浮点数,左对齐C)整型数,左对齐D)浮点数,右对齐
在C语言中,C为字符串的结束标志。
C) \0
A) \tB) \n
6. B一全为双目运算符。
A) ||&& ?B) + >=|| C) ++ >=
执行复合语句{i=10;j=i-;}后,变量i和j的值为 B
D) \b
D) + && &
7.
A) 10, 10B) 9, 10C) 10, 9
执行语句x=(a=3,b=a-)后,x、a、b的值分别为C
A)3, 3, 2B)3, 2, 2
C)3, 2, 3
9.
D) 9, 9
D)2, 3, 2
若定义:int a[ ]={0,l,2,3,4,5,6,7,8,9},*p=a,i;英中 0
A) *pB) *(a+i)
10.当调用函数吋,实参和形参都是数组名,
C) a=p+2D) p[i]
则向被调用函数传送的是—B
A)数组的长度B)数组的首地址
11.在循环语句的循环体中执行continue语句,其作用是—C
C)数组的类型 D)数组首元素的值
A)跳出该循环体,提前结束循环B)继续执行该语句之后的循环体语句
C)结束本次循环D)终止程序运行
12.若定义:inta,*p=&a;则a与下列表达式 B 等价。
A) pB) *&aC) *&p
13.与表达式x*=(y+x)+3等价的表达式是一C 。
D)&*a
A) x=x*y+x+3 B) x=x*(y+x)+3
14.设有以下说明语句
C) x=x*(y+x+3)
D) x=(y+x)*3
struct student
{ int x ; float y; char z ;} p,*cxamplc=&p; 则下面正确的是 B o
A) struct.xB) cxamplc->z
15.设有以下说明语句
C) studcnt->x
D) example.z
struct student
{int num ; char name[10];} s[10]; 则下面正确的是一D 。
A) scanf("%d,%c'',s[l].num, s[l].namc)
C) scanf("%d,%s'',&s.num, &s.name)
B) scanf(“%d,%s'',s.num[l], s.namc[l])
D) scanf(u%d,%s,,,&s[ 1 ].num, s[1].name)
二、按照各小题的要求写岀结果
写出判断字符变量n是否为字母的逻辑表达式。
(n>='a‘&&n<='z') || (n>='A'&&n<='Z')
写出函数的输出结果:
void main()
{int a=102,b=012;
printf("a=%2d, b=%2d\n",a,b);
}
输出结果:a=102, b=10
写出函数的输出结果:
void main()
{int i, ch[]={l,2,3,4,5,6,7,8};
for(i=0;i<6;i++)
if(i%2= =0) printf(n%d, H,ch[i]);
}
输岀结果:1,3,5
写出下列语句的输出结果:
grade='C*;
switch (grade)
{ case'A': printf(tc90-100\nn);
case B: printff480-89\nn); break;
case C: printf(u70-79\nn);
case D: printf(u60-69\nH); break;
default: printf(u<60\nM); }
输出结果: 70-79
60-69
写出下列语句的输出结果:
char arr[ ]=uabcdef \ *ptr;
for( ptr=arr; ptr
输出结果:a-abedef
b-bedef
三、读程序,严格按照程序写岀输出结果
#include
void main()
{ int i,j,s=O;
int a[ ”3]={{1,2,3},{4,5,6},{7,8