p; C)1 D)7
(21)下列不能输出字符A的语句是(注:字符A和a的ASCIl码值分别为65和97)
A)printf("%c\n",'a'-32); B)printf("%d\n",'A');
C)printf("%c\n",65); D)print-f("%c\n",'B'-1);
(22)有以下程序(注:字符a的ASCIl码值为97)
#include <stdio.h>
main()
{
char *s={"abc"};
do
{ printf("%d",*%10);++s;
}while(*s);
)
程序运行后的输出结果是
A)abc B)789 C)7890 D)979899
(23)若有定义语句:double a,*p=&a;下列叙述中错误的是
A)定义语句中的*号是一个间址运算符
B)定义语句中的*号只是一个说明符
C)定义语句中的P只能存放double类型变量的地址
D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p
(24)有以下程序
#include<stdio.h>
double f(double x)
{ return x*x+1;}
void main()
{
double a=0;
int i;
for (i=0;i<30;i+=10)
a+=f((double)i);
printf("%5.0f\n",a);
}
程序运行后的输出结果是
A)401 B)500 C)503 D)1404
(25)若有定义语句:int year=2019,*p=&year;,以下不能使变量year中的值增至2020的
语句是
A)*p+=1; B)( *p)++; C)++(*p); D)*p++;
(26)下列定义数组的语句中错误的是
A)int num[]={1,2,3,4,5,6};
B)int num[][3]={{1,2},3,4,5,6};
C)int num[2][4]=({1,2,{3,4},{5,6});
D)int num[][4]={1,2,3,4,5,6};
(27)有以下程序
#include <stdio.h>
void fun(int *p)
{ printf(“%d\n”,p[5]);}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
fun(&a[3]);
)
程序运行后的输出结果是
A)5 B)6 C)8