西华师范大学2023年计算机C语言

本试卷为西华师范大学2023年计算机C语言,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

计算机C语言

一、理论基础 (共20题,每题1分,共计10分)

(  A  )
1、c 源程序中不能表示的数制是________。
A、二进制
B、八进制
C、十进制
D、十六进制
(  D  )
2、在位运算中,操作数每左移两位,其结果相当于________。
A、操作数乘以2
B、操作数除以2
C、操作数除以4
D、操作数乘以4
(  C  )
3、为了避免嵌套的条件分支语句if-else的二义性,c语言规定:c程序中的else总是与( )组成配对关系。
A、缩排位置相同的if
B、在其之前未配对的if
C、在其之前未配对的最近的if
D、同一行上的if
(  A  )
4、根据c语言的语法规则,下列________个是不合法标识符。
A、do
B、Name
C、R5
D、_exam
(  C  )
5、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是________。 int a; float b; scanf("a=%d,b=%f",&a,&b);
A、25□2.5
B、25,2.5
C、a=25,b=2.5
D、a=25□b=2.5
(  D  )
6、表达式5!=3的值是________。
A、T
B、非零值
C、0
D、1
(  A  )
7、设有以下语句:int x=10; x+=3+x%(-3),则x的值是________。
A、14
B、15
C、11
D、12
(  A  )
8、以下选项中,不合法的整型常数是________。
A、32768
B、-56
C、03
D、0Xaf
(  D  )
9、设int b=2; 表达式(b<<2)/(b>>1)的值是________。
A、2
B、4
C、6
D、8
(  D  )
10、若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元 int *p p=______malloc(sizeof(int)); 则应填入______。
A、int
B、int*
C、(*int)
D、(int*)
(  B  )
11、大写字母b的ascⅱ码值是______。
A、65
B、66
C、41H
D、97
(  A  )
12、关于程序中的注释,以下叙述正确的是________。
A、注释的内容必须放在/* 和 */之间
B、注释必须置于所说明的语句前或语句后
C、注释中间可以嵌套另一个注释
D、注释内容错误会导致编译出错
(  B  )
13、以下叙述中正确的是______。
A、程序必须包含所有三种基本结构才能成为一种算法
B、当用我们所写的每条 C 语句,经过编译最终都将转换成二进制的机器指令
C、如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达
D、只有简单算法才能在有限的操作步骤之后结束
(  D  )
14、二进制数010110101转换错误的为:
A、转换为八进制为265
B、转换为十六进制为0xB5
C、转换为十进制为奇数
D、转换为十进制数为偶数
(  B  )
15、下面四个选项中,均是合法的用户标识符的选项是________。
A、void
B、as_b3
C、For
D、2c
(  B  )
16、以下叙述中正确的是________。
A、在 C 程序中的八进制和十六进制,可以是浮点数
B、整型变量可以分为 int 型、short 型、long 型和 unsigned 型四种
C、八进制数的开头要使用英文字母 o,否则不能与十进制区分开
D、英文大写字母 X 和英文小写字母 x 都可以作为二进制数字的开头字符
(  D  )
17、假定x和y为double型,则表达式x=2,y=x+3/2的值是________。
A、3.5
B、3
C、2
D、3.0
(  C  )
18、若a为int类型,且其值为2,则执行完表达式a+=a-=a*a后,a的值是______。
A、0
B、4
C、-4
D、6
(  D  )
19、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的 表达式是________。
A、x || y
B、x | y
C、x & y
D、x ^ y
(  C  )
20、下面正确的字符常量是________。
A、"c"
B、'\\''
C、'W'
D、""

二、控制结构 (共10题,每题1分,共计10分)

(  D  )
1、若int i=10;
执行下列程序后,变量i的正确结果是________。 switch (i)
{
case 0: i+=1;
case 10: i+=1;
case 11: i+=1;
default: i+=1;
}
A、10
B、11
C、12
D、13
(  C  )
2、有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是________。
A、a=a+b=b++
B、w%((int)a+b)
C、(c+w)%(int)a
D、w=a==b
(  C  )
3、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
A、a!=4||b==1
B、'a'%3
C、'a'=1/2
D、'a'+32
(  A  )
4、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
A、1 0
B、0 1
C、非0非0
D、1 1
(  C  )
5、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
A、if(x++);
B、if(x>y&&y!=0);
C、if(x>0)x- else y++;
D、if(y<0){;} else x++;
(  C  )
6、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是________。
A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3
(  A  )
7、有如下程序
main()
{
int x=1,a=5,b=5;
switch(x)
{
case 0: b--;
case 1: a--;
case 2: a--;
b--;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是______。
A、a=3,b=4
B、a=3,b=3
C、a=4,b=5
D、a=4,b=4
(  B  )
8、c语言中,关系表达式和逻辑表达式的值是________。
A、0
B、0或1
C、1
D、'T'或'F'
(  B  )
9、将三个数排序需要比较________次。
A、2
B、3
C、4
D、不确定
(  A  )
10、执行下面语句后的输出为____
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
A、****
B、%%%%
C、%%%%C
D、有语法错,不能执行

三、循环结构 (共10题,每题1分,共计10分)

(  A  )
1、有以下程序:
main()
{
int c=0,k;
for(k=1;k<3;k++)
switch(k)
{
default:c+=k;
case2:c++;
break;
case4:c+=2;
break;
}
printf("%d\n",c);
}
程序运行后的输出结果是________。
A、3
B、5
C、7
D、9
(  B  )
2、下列程序的运行结果是________。
void main()
{
int s=0,k;
for(k=7;k>1;k--)
{
switch(k)
{
case 1: case 4: case 7: s++: break;
case 2: case 3: case 6:break;
case 0: case 5: s+=2: break;
}
}
printf("s=%d",s);
}
A、s=3
B、s=4
C、s=5
D、无输出结果
(  D  )
3、有以下程序:
main()
{
int i,n=0: for(i=2;i<5;i++)
{
do
{
if(i%3) continue: n++;
}
while(!i);
n++;
}
printf("n=%d\n",n);
}
程序执行后输出结果是________。
A、n=5
B、n=2
C、n=3
D、n=4
(  C  )
4、下面对do-while结构的描述中,不正确的是________。
A、循环体至少执行一次
B、属于“直到型”循环
C、与while语句执行情况相同
D、先执行循环体,再计算终止条件,若结果为true,重复执行循环体,直到布尔表达式的值为false。
(  C  )
5、在下列选项中,没有构成死循环的程序段是________。
A、int i=100;
for(;;) {
i=i%10+1;
if(i>10)
break;
}
B、while(1);
C、int k=0;
do
{
++k;
}
while(k<=10);
D、int s=12;
while(s);
--s;
(  A  )
6、有以下程序
main()
{
int a=15,b=21,m=0;
switch(a%3)
{
case 0:m++;
break;
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;
break;
}
}
printf("%d\n",m);
}
程序运行后的输出结果是______。
A、1
B、2
C、3
D、4
(  C  )
7、有以下程序段:
int x=3;
do
{
printf(”%3d”,x-=2);
}
while(!(--x));
程序段的输出结果是________。
A、1
B、3 0
C、1-2
D、死循环
(  C  )
8、判断关键字* ▁▁▁▁▁ 不是关键字。
A、int
B、extern
C、break
D、main
(  C  )
9、以下程序的输出结果是________。
#include<stdio.h>
main( )
{
int i;
for(i=1;i<5;i++)
{
if(i%2)printf(''+''); else continue;
printf(''-'')
}
printf('' $ \n'');
}
A、+-+-+- $
B、-+-+-+ $
C、+-+- $
D、-+-+ $
(  D  )
10、以下程序段的输出结果为()。
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1);
A、abc
B、ab
C、2
D、3

四、数组/指针数组 (共10题,每题1分,共计10分)

(  A  )
1、以下程序段给数组所有元素输入数据:
main()
{
int a[10],i=0;
while(i<10)scanf("%d",);
}
应在下划线处填入的是________。
A、a+(i++)
B、&a[i+1]
C、a+i
D、&a[++i]
(  C  )
2、若有以下定义:int t[3][2]; 能正确表示t数组元素地址的表达式是______。
A、&t[3][2]
B、t[3]
C、t[1]
D、*t[2]
(  C  )
3、以下程序输出的结果为 ______。
main()
{
char *alpha[6]={"abcd","efgh","ijkl","mnop","qrst","uvwx"};
char **p;
int i;
p=alpha;
for(i=0;i<4;i++) printf("%s",p[i]);
}
A、ABCDEFGHIJKL
B、ABCD
C、ABCDEFGHIJKLMNOP
D、AEIM
(  B  )
4、在c语言中,设有数组定义:char array[]="china"; 则数组array所占用的空间为________。
A、5个字节
B、6个字节
C、10个字节
D、12个字节
(  A  )
5、以下选项中,不能正确赋值的是 ______。
A、char s1[10];s1="chest";
B、char s2[]='C','t','e','s','t';
C、char s3 [20]="Chest";
D、char * s4="Cest\n"
(  B  )
6、某一维数组中依次存放了数据元素12,23,30,38,41,52,54,76,85,在用折半(二分)查找方法(向上取整)查找元素54时,所经历"比较"运算的数据元素依次为________。
A、41, 52, 54
B、41, 76, 54
C、41, 76, 52, 54
D、41, 30, 76, 54
(  B  )
7、下面的C程序完成的功能是________。
#define SIZE 5
void func(int data[SIZE]);
main()
{
int i,buf[SIZE];
printf(""Please input %d numbers:"",SIZE);
for(i=0;idata[j+1])
{
d=data[j];
data[j]=data[j+1];
data[j+1]=d;
}
}
A、对一维数组降序排序
B、对一维数组升序排序
C、对一维数组逆向排序
D、对一维数组顺序排序
(  A  )
8、下面说法正确的是________。
A、char *x,y,**str 同时定义了三个变量,符合语法规范
B、数组说明符的一对方括号中只能使用常量数值
C、单精度浮点值也可以作为数组下标
D、若有定义 float arr[2]则 printf("%2.1f", array[0.5])是合法的语句
(  B  )
9、int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是________。
A、for(i=1;i<11;i++)a[i]=i;
B、for(i=1;i<11;i++)a[i-1]=i;
C、for(i=1;i<11;i++)a[i+1]=i;
D、for(i=1;i<11;i++)a[0]=1;
(  A  )
10、定义如下变量和数组: int k,a[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是________。for(k=0;k<3;k++) printf("%d ",a[k][2-k]);
A、3 5 7
B、3 6 9
C、1 5 9
D、1 4 7

五、字符串/字符串指针 (共10题,每题1分,共计10分)

(  C  )
1、下列能正确进行字符串赋值的是________。
A、char s[5]={¨ABCDE”);
B、char s[5]={'A','B','C','D','E'};
C、char*s;s=”ABCDE”;
D、char*s;printf(”%S”,s);
(  C  )
2、下面各语句行中,能正确进行字符串赋值操作的语句是______。
A、char ST[5]={"ABCDE"} ;
B、char S[5]={'A' , 'B' , 'C' , 'D' , 'E'} ;
C、char *S ; S="ABCDE" ;
D、char *S ; scanf ( "%S" , S );
(  B  )
3、下列选项中,值为1的表达式是________。
A、1-'0'
B、1-'\0'
C、'1'-0
D、'\0','0'
(  C  )
4、以下能将字符串,you are luck!正确读入的语句组是________。
A、char s[80]; scanf("%s",s);
B、char *s: scanf("%s",s);
C、char s[80]; gets(s);
D、char *s; gets(3);
(  D  )
5、下列字符常量的写法中,正确的是________。
A、'abc'
B、'\5A'
C、A
D、'\73'
(  C  )
6、下列表达式中,类型可以作为int型的是________。
A、"abe"+"efg"
B、"abc"+"efg"
C、'a'+'b'
D、3+"4"
(  C  )
7、\、/、mod、*等4个算术运算符中,优先级最低的是________。
A、\
B、/
C、Mod
D、*
(  B  )
8、宏定义用于将一个标识符定义为一个
A、常量
B、字符串
C、整数
D、长整数
(  A  )
9、下列对字符串的定义中,错误的是________。
A、char str[7] = "FORTRAN";
B、char str[] = "FORTRAN";
C、char *str = "FORTRAN";
D、char str[] = {'F','O','R','T','R','A','N',0};
(  D  )
10、下面描述正确的是________。
A、两个字符串包含的字符个数相同时,才能比较字符串
B、字符个数多的字符串比字符个数少的字符串大
C、字符串"STOP" 与"STOP■"相等
D、字符串"That" 小于字符串"The"

六、函数/函数指针 (共10题,每题1分,共计10分)

(  C  )
1、以下叙述正确的是 。
A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误
B、在C程序中,main函数必须位于程序的最前面
C、C语言本身没有输入输出语句
D、C程序的每行中只能写一条语句
(  D  )
2、若调用一个函数,且此函数中没有return语句,则正确的说法是________。
A、该函数没有返回值
B、该函数返回若干个系统默认值
C、能返回一个用户所希望的函数值
D、返回一个不确定的值
(  B  )
3、下列关于c语言的说法错误的是________ 。
A、C程序的工作过程是编辑、编译、连接、运行
B、C语言不区分大小写。
C、C程序的三种基本结构是顺序、选择、循环
D、C程序从main函数开始执行
(  B  )
4、若有以下说明和定义
fun ( int *c )
{
}
void main ()
{
int ( *a )() =fun , *b (), w[10] , c ;
…
}
在必要的赋值之后,对 fun 函数的正确调用语句是______。
A、a=a ( w );
B、( *a )( &c );
C、b=*b ( w );
D、fun ( b );
(  A  )
5、以下叙述中正确的是________。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号“{”和“}”只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
D、分号是C语句之间的分隔符,不是语句的一部分
(  D  )
6、以下叙述不正确的是_____。
A、分号是C语言的必要组成部分
B、C程序的注释可以写在句的后面
C、函数是C程序的基本单位
D、主函数的名字不一定用main表示
(  D  )
7、下列说法正确的是________。
A、在C程序中,main()函数必须位于程序的最前面
B、在C程序中,一条语句只能写一行而不能写多行
C、C程序是以行为基本单位的
D、C语言本身没有输入输出语句
(  A  )
8、以下叙述中正确的是________。
A、int*p1;int**p2;int*p3 都是合法的定义指针变量的语句
B、指针变量只能通过求地址运算符(&)来获得地址值
C、语句 p=NULL;与 p=\0;是等价的语句
D、语句 p=NULL;执行后,指针 p 指向地址为 0 的存储单元
(  D  )
9、fwrite函数的一般调用形式是________。
A、fwrite(buffer,count,size,fp);
B、fwrite(fp,size,count,buffer);
C、fwrite(fp,count,size,buffer);
D、fwrite(buffer,size,count,fp);
(  B  )
10、在一个. C程序中()。
A、main 函数必须出现在所有函数之前
B、main 函数可以在任何地方出现
C、main 函数必须出现在所有函数之后
D、main 函数必须出现在固定位置

七、指针 (共10题,每题1分,共计10分)

(  A  )
1、设有下列程序段: char str[]="helloworld"; char*ptr; ptr=str ;执行上面的程序段后,*(ptr+10)的值为________。
A、'\O'
B、'0'
C、不确定的值
D、'0'的地址
(  C  )
2、若有定义:int aa[ 8]; 则以下表达式中不能代表数组元aa[1]的地址的是________。
A、&aa[0]+1
B、&aa[1]
C、&aa[0]++
D、aa+1
(  B  )
3、以下函数调用语句中含有实参个数为 __________. func((exp1,exp2),(exp3,exp4,exp5));
A、1 个
B、2 个
C、4 个
D、5 个
(  C  )
4、若在某函数内部有定义:int a[3][4]; 则数组a中各元素________。
A、可在程序的运行阶段得到初值0
B、可在程序的编译阶段得到初值0
C、不能得到确定的初值
D、可在程序的编译或运行阶段得到初值0
(  D  )
5、下列说法正确的是________。
A、main函数必须放在C程序的最后面
B、main函数必须放在C程序的最前面
C、main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的
D、main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的
(  A  )
6、对于一个正常运行的c程序,以下叙述中正确的是________。
A、程序的执行总是从main函数开始,在main函数结束
B、程序的执行总是从程序的第一个函数开始,在main函数结束
C、程序的执行总是从main函数开始,在程序的最后一个函数中结束
D、程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
(  B  )
7、有以下程序
#include<stdio.h>
int fun(int a,int b) {
if(b=0)return a;
else return(fun(--a,--b));
}
main() {
printf("%d\n",fun(4,2));
}
程序的运行结果是________。
A、1
B、2
C、3
D、4
(  B  )
8、对于int *pa[5]; 的描述,以下哪个选项是正确的
A、pa是一个指向数组的指针,所指向的数组是五个int类型的指针
B、pa是一个具有五个元素的指针数组,每个元素都是一个int类型的指针
C、pa[5]表示某个数的第五个元素的值
D、pa是一个指向某个数组中第五个元素的指针,该元素是int类型的变量
(  A  )
9、以下叙述中错误的是________。
A、在一个程序中,每个模块均可以独立编译运行
B、程序“模块化”有利于任务的分解简化
C、允许对函数单独进行编译,是 C 语言实现“模块化”的基础
D、采用模块化结构,可以提高编程效率
(  B  )
10、执行下列语句后的结果为________。 int x=3,y; int *px=&x; y=*px++;
A、x=3,y=4
B、x=3,y=3
C、x=4,y=4
D、x=3,y不知

八、结构体 (共10题,每题1分,共计10分)

(  A  )
1、c语言结构体类型变量在程序执行期间,________。
A、所有成员一直驻留在内存中
B、没有成员驻留在内存中
C、部分成员驻留在内存中
D、只有一个成员驻留在内存中
(  B  )
2、下面结构体的定义语句中,错误的是________。
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;} n;
D、struct {
int x;int y;int z;} a;
(  D  )
3、下面程序的输出是______。
main ()
{
struct cmplx
{
int x ;
int y ;
}
cnum[2]={1 , 3 , 2 , 7};
printf ( "%d\n" , cnum[0].y/cnum[0].x*cnum[1].x );
}
A、0
B、1
C、3
D、6
(  A  )
4、下列选项中不属于c语言的数据类型是________。
A、复数型
B、逻辑型
C、双精度型
D、集合型
(  D  )
5、有以下结构体说明、变量定义和赋值语句
struct std
{
char name[10];
int age;
char sex;
}
s[5],*ps;
ps=&s[0];
则以下scanf函数调用语句中错误引用结构体变量成员的是________。
A、scanf("%S",S[0].name);
B、scanf("%d",&s[0].age);
C、scanf("%C",&(ps->sex));
D、scanf("%d",ps->age);
(  D  )
6、以下程序的输出结果是______。
struct har
{
int x,y;
struct har *p;
}
h[2];
main()
{
h[0].x=1;
h[0].y=2;
h[1].x=3;
h[1].y=4;
h[0].p=&h[1];
h[1].p=h;
printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);
}
A、12
B、23
C、14
D、32
(  C  )
7、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s+2;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
A、250.00
B、250
C、285.00
D、285
(  D  )
8、当定义一个结构体变量时,系统为它分配的内存空间是________。
A、结构中一个成员所需的内存容量
B、结构中第一个成员所需的内存容量
C、结构体中占内存容量最大者所需的容量
D、结构中各成员所需内存容量之和
(  D  )
9、在说明一个结构体变量时系统分配给它的存储空间是________ 。
A、该结构体中第一个成员所需存储空间
B、该结构体中最后一个成员所需存储空间
C、该结构体中占用最大存储空间的成员所需存储空间
D、该结构体中所有成员所需存储空间的总和
(  A  )
10、结构体类型的定义允许嵌套是指()。
A、成员是已经或正在定义的结构体型
B、成员可以重名
C、结构体型可以派生
D、定义多个结构体型

九、程序题 (共10题,每题1分,共计10分)

(  A  )
1、下述程序执行的输出结果是________。
main()
{
char a[2][4];
strcpy(a,"are");
strcpy(a[1],"you");
a[0][3]='&' printf("%s\n",a);
}
A、arec&you
B、you
C、are
D、&.
(  C  )
2、若有以下程序段: int r=8; print("%d\n",r>>1); 输出结果是________。
A、16
B、8
C、4
D、2
(  A  )
3、分析以下程序的输出结果是________。
main()
{
int a=5,b=-1,c;
c=adds(a,b);
printf("%d",c);
c=adds(a,b);
printf("%d\n",c);
}
int adds(int x,int y)
{
static int m=0,n=3;
n*=++m;
m=n%x+y++;
return(m);
}
A、2,3
B、2,2
C、3,2
D、2,4
(  C  )
4、下列程序的输出结果是________。
int a[5]= { 2,4,6,8,10 } ,*p,**k;
p=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
A、4 4
B、2 2
C、2 4
D、4 6
(  B  )
5、有以下程序
void swap1(int c[])
{
int t;
t=c[0];
c[0]=c[1];
c[1]=t;
}
void swap2(int c0,int c1)
{
int t;
t=c0;
c0=c1;
c1=t;
}
main( )
{
int a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
其输出结果是________。
A、5 3 5 3
B、5 3 3 5
C、3 5 3 5
D、3 5 5 3
(  D  )
6、数字字符0的ascii值为48,若有以下程序
main() {
char a=’1’,b=’2’;
printf("%c,b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是______。
A、3,2
B、3,1
C、2,1
D、2,2
(  B  )
7、下面程序的输出是________。 typedef union
{
long x[2];
int y[4];
char z[8];
}
mytype;
mytype them;
void main()
{
printf("%d\n", sizeof(them));
}
A、32
B、16
C、8
D、24
(  A  )
8、有以下程序
#include <stdio.h>
main()
{
int n, *p=null;
*p=&n;
printf("input n:");
scanf("%d",&p);
printf("output n:");
printf("%d\n",p);
}
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是______。
A、int n , *p=NULL;
B、*p=&n;
C、scanf("%d",&p)
D、printf("%d\n",p);
(  D  )
9、如下程序,输入错误的为:
void main()
{
int a;
int b;
scanf("%d%d",&a,&b);
printf("%d %d",a,b);
}
A、1【空格】2【回车】
B、1【 Tab】2【回车】
C、1【回车】2【回车】
D、1【分号】2【回车】
(  C  )
10、若下列语句组,则输出结果是________。
int x=-1;
if(x++<0) printf("%d",--x);
printf("%d",x++);
A、-1
B、1
C、-1-1
D、-11