当前位置:首页 » 编程语言 » c语言单项选择题

c语言单项选择题

发布时间: 2023-01-14 03:39:48

A. 求c语言试题及答案!急啊!

c语言考试题(一)

一、 单项选择题(每题2分,共20分)
1、以下选项中属于C语言的数据类型是( )
A.复数型 B.逻辑型 C.集合型 D.双精度型
2、一个C程序的执行是从( )
A.main()函数开始,直到main()函数结束 B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束 D.main()函数开始,直到最后一个函数结束
3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是( )
A.3 B.0C.-12D.9
4、若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.'c''d' C.cd D.cd e
5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是 ( )。
A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3]
6、以下有宏替换不正确的叙述( ).
A.宏替换不占用运行时间 B.宏名无类型
C.宏替换只是字符串替换 D.宏名必须用大写字母表示
7、执行char str[10]=”Ch\nina”; strlen(str)的值是( )
A.5 B.6 C.7 D.9
8、下面程序的输出结果是:( )
#define POWER(x) (x*x)
main()
{int i=4; printf("%d",POWER(i-2)); }
A. -9 B. -7 C. 5 D. -6
9、在定义int a[3][4][2];后,第10个元素是( )
A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1]
10、下面程序的输出结果是:( )
typedef struct
{long x[2];<br>short y[4];<br>char z[8];<br>}MYTYPE;
MYTYPE a;
main()
{ printf("%d\n",sizeof(a));}
A. 2 B. 8 C. 14 D. 24
二、 填空题(每空1分,共11分)
1、字符串"A"在内存中占用的字节数为 。
2、C语言中的标识符只能由字母、下划线和 组成。
3、若有定义语句“ int a=25,b=14,c=19;",以下语句的执行结果是
if(a++<=25&&b--<=2&&c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);
else printf("###a=%d,b=%d,c=%d\n",a,b,c);
4、有如下定义a[]="B\172\\\'a%%";则执行语句printf("%d",strlen(a));的结果为 。
5、若有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3];则*(*(p+1)+2)的值为 ,*p[2]的值为 。若数组的首地址为2000,则p[1]指向的地址为 。
6、设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 。
7、设x、y都是int型变量,初值都为1,则执行表达式:--x&&y++后,y的值为 。
8、语句for(i=1;i==10;i++)continue;循环的次数是 。
9、以下程序输出 。
main()
{enum em {em1=3,em2=1,em3};
char *aa[]={"AA","BB","CC","DD"}; printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
三、 写程序结果(每题5分,共35分)

1、#include
main()
{int x,y,z;<br>x=1,y=2,z=3; x+=y+=z;<br>printf("1:%d\n",z+=x>y?x++:y++);<br>x=0x02ff;y=0xff00;<br>printf("2:%d\n",(x&y)>>4|0x005f);<br>x=y=z=-1; ++x||++y&&++z;<br>printf("3:%d,%d,%d\n",x,y,z);<br>}
2、#define f(x) x*x
main()
{int a=6,b=2,c;<br>c=f(a+b)/f(b);<br>printf(“%d\n”,c);<br>}
3、fun(int k)
{ printf("%d",k);
if(k>0)
fun(k-1);
}
main( )
{ int w=5; fun(w); printf("\n"); }
4、#include
main()
{int x=1,y=0;<br>switch(x)<br>{ case 1:<br>switch(y)<br>{ case 0:printf(“first\n”);break;<br>case 1:printf(“second\n”);break;<br>}
case 2:printf(“third\n”);
}
}
5、#include
main()
{ int k=4;
func(k); func(k);
}
func(int a)
{ static int m=0;
m+=a;
printf("%d",m);
}
6、struct st
{ int x;
int *y;
}*p;
int s[]={30,20};
struct st a[]={1,&s[0],2,&s[1]};
main()
{ p=a; printf("%d,",p->x);
printf("%d\n",++(*(++p)->y));
}
7、假定在当前盘目录下有2个文本文件,其名称和内容如下:
文件名: a1.txt a2.txt
内容: ABCDEF# abcdef#
#include "stdio.h"
main()
{FILE *fp;<br>void fc();<br>if((fp=fopen("a1.txt","r"))==NULL)<br>{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
if((fp=fopen("a2.txt","r"))==NULL)
{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
}
void fc(fp1)
FILE *fp1;
{char c;<br>while((c=fgetc(fp1))!='#')putchar(c);<br>}

四、 程序填空(每空2分,共14分)

1、下面程序求矩阵a的主对角线元素之和,请填空。
main()
{ int a[3][3]={2,4,6,8,10,12,14,16,18};
int sum=0,i,j;
for(i=0;i<3; ① )
for(j=0; ② ;j++)
if(i= =j) sum=sum+ ③ ;
printf("sum=%d\n",sum);
}
2、下列函数coy把字符数组S2中的全部字符复制到字符数组S1中, 复制时’\0’也要复制过去,’\0’后面的字符不用。
coy(char s1[],char s2[])
{ int i;
for(i=0;s2[i]!= ① ;i++)
s1[i]=s2[i];
② ;
}
3、下面程序的功能是将字符串a中的下标为奇数的元素由小到大排序,其他元素不变,请填空。
main()
{ char a[]="students",t; int i,j;
for(i=1;i<7;i+=2)
for(j=i+2;j<8; ① )
if( ② )
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
}

c语言考试题(二)

一. 填空题(每题2分,共20分)
1. C语言基本数据类型有:_______________________________;
构造类型有:_____________________________________。 P.13

2. C语言源程序注注释符号是:________________________________,
为表明层次结构,C语言源程序通常采用_____________________格式编写。P.4

3. 源程序TEST.C经编译产生的目标文件是:________________________;
经连接处理后,产生的可执行文件是:__________________________。

4. strlen(“1234 \ 0xy)的值为:_____________________________;
sizeof(float)的值为:____________________________

5. 二维数组a[10] [50]最后一行的首地址为:_________________________;
最后一个元素的首地址为:____________________________________。

6. C标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D :\ MYC \ MY . H应如何包含到源程序文件中:_________________________。P.130

7. 已知函数定义为:int stat(inta,float *p)
{……………}
则此函数的两个参数类型分别是_______________ 、 _____________________。

8. 设int x,y,z=4;
x=y=++z;
x=(y>z)?x+2;x++;则x的值是:_________;
设int a=0,b=0,c=0;c=++a | | b++; ,则a、b、c值分别是:_____________。

9. 与if (x=0) 等价的写法是if ( ! x );
判断两个(float)变量x,z是否相等一般:if ( fabc(x-z)<1e-6 )。

10.已知赋值语句zhang.year=1985;可判断zhang是_______________类型的变量;
定义文件指针的C语句是:_________________________________。

二. 单项选择题 (每题1分,共10分)
1. 组成C程序的基本单位是____________________________。
A.函数 B.标识符 C.表达式 D.语句

2. 设int类型的数据长度为2字节,则该类型数据的取值范围是__________________。
A.0至65536 B.0至65535
C.-32767至32768 D.-32768至32767

3. 在C语言中,逻辑值“真”是用_____________________表示的。
A.预定义为真值的宏 B.非零数
C.正数 D.非零整数

4. C语言对于嵌套if语句规定else总是与_____________________匹配。
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else的if D.与最近的{ }之前的if

5. 数组定义char a[10]={`a`,`b`,`c`}:包括了几个元素____________________。
A.3 B.9 C.4 D.10

6. 数组名作为实参传给被调用的函数时,形参获得的是_____________________。
A.该数组第一个元素的值 B.该数组所有元素的值
C.该数组第一个元素的首地址 D.该数组所有元素的首地址

7. 为表示关系x ≥ y ≥z,正确的C语言表达式为_________________________。
A.(x>=>y>=z) B.(x>=y)AND(y>=z)
C.(x>=y)&&(y>=z) D.(x>y)&(y>=z)

8. 根据定义int a[ ]={1,2,3},i,*p=a; 从语法分析_________________是不正确的。
A. a[p-a] B.*(&a) C.p D.*(*(a+i))

9. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为____________________________。
A.12 34 B.12,34 C.1234 D.12:34

10.union uex {int i;float f;char c;}ex;则sizeof(ex)的值是____________________。
A.4 B.5 C.6 D.7

三. 分析程序,写出运行结果。(每题4分,共20分)
1. 源程序如下,运行时假定键盘输入字符串为``2004``
#include
void main(void)
{
int n=0;
char c;
while( (c=getchar( )) ! =`\n` ) /*字符型数字*/
{
if (c>=`0`&&c<=`9` )
n = n*10 + c- `0` ; /*数字*/
}
printf(“value=%d|n” ,n);
}
结果为: value=2004 。

2. 源程序如下:
#include
void main(void)
{
int num[9]={399,398,397,396,395,299,290,311,301};
int score[9]={81,85,59,77,90,66,89,93,73};
int iMax,iPos,i;
iPos=0;
iMax=score[iPos];
for(i=1;i<9;i++)
if(score>iMax)
{
iPos=i;
iMax=score[iPox];
}
printf(“num=%d,score=%d”,num[iPos];score[iPos]);

结果为: num=311, score=93 。

3. 源程序如下,运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9 10
#include
void main(void)
{
int i,a[10];
int *p;
p=a;
for(i=0;i<10;i++)
scanf(“%d“,p++);
for(p=a;p< SPAN>;p++)
if (*p%2)printf(“%3d”,*p);
}
结果为: 1 3 5 7 9 。

4. 源程序如下,两次运行,分别输入数据13和21
#include
#include
void main(void)
{
int n,s;
scant (“%d”,&n);
s=panan( n);
if(s==1)printf(“yes\n”);
else printf(“no\n);
}
int panan(int n)
{
int k,j;
k=(int)sqrt((double)n);
for(j=2;j<=k,j++)
{
if(n%j==0) break;
}
if(j>k) retum(1);
else retum(0);
}
结果为 yes
no

5.源程序如下,运行时假定键盘输入字符为:AxByCz
#include
#include
void main(void)
{
char str[80];
int i;
gets(str);
for(i=0;str!=`\0`;i++)
if(str>=`a`&&str<=`z`) str-=32;
else if (str>=`A`&&str<=`Z`) str+=32;
puts(str);
}
结果为: aXbYcZ 。

四. 下列程序中每个划线处有一个错误,改正划线 中的错误,使其实现题目要求。(每体4分,共20分)
1. 求 s=1+2+3+、、、、、、、+100
include 改正为_________________________。
void sum (void) 改正为_________________________。
{
int s,i;
for (s=0,i=1;i<=100;i++)
{
s=s+ i ++; 改正为__________________________。
}
printf (“s=%f”,s) 改正为__________________________。
}

2. 源程序实现求x
#include
double pow(float . int) 改正为_________________________。
void main(void)
{
int i, n;
float x;
scanf (“%f,%d”,&x,&n);
for (i=1; i<9;i++)
printf(“%d,%e\n”, i, pow(i,x);
} 改正为______________________。
double v v pow(float x, int n)
{
int i;
double p=0; 改正为______________________。
for (i=1; i< i++)>改正为_______________________。
p*=x;
retum(p);
}

3. 源程序实现排升序。
#include
void main(void)
{
int i, j, iMin, a[10]={4,3,5,1,10,12,2,6,7,9}, iTemp;
for (i=0; i<9; i++)
{
iMin=0; 改正为_______________________。
for (j=i+1; j<10;j++)
if(a[iMin]< iMin="j;">改正为_______________________。

if (iMin==i) 改正为_________________________。
{ iTemp=a;
a[iMin]=a; 改正为_________________________。
a[iMin]=iTemp;
}
}
for(i=0; i<10; i++)
printf(“%4d”, a):
}

4. 源程序为求平均值。
#include
void main(void)
{
int i, sum; 改正为____________________。
float avg;
int sc[10], *p=sc;
for (i=0, i<10; i++) 改正为____________________。
{
scanf(“%d”, p++);
sum+= *p; 改正为____________________。
}
avg = sum/ 10; 改正为___________________。
printf(“avg=%f”, avg);
}
5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1项之和
#include
void main(void>
{
float exp , x , t;
int i, n;
scanf(“%f, %d”,&x, &n);
t=0; 改正为___________________。
exp=1.0;
for(i=1 ; i<=n; i++)
{
if(t<1e-6) loop; 改正为__________________。
t+=x/i; 改正为___________________。
exp*=t; 改正为___________________。
}
printf(“\n%15.6f”, exp);
}
五. 编程题 (每题6分,共30分)
1. 根据以下程序框架,编写子函数,实现交换两个整型变量x和y的值。
#include
void swap (int *, int *);
void main (void)
{
int x, y;
scanf(“%d, %d”, &x, &y);
swap( &x, &y);
printf(“%d, %d”, x, y);
}
void swap( )
{

}

2. 设某班人数36人,参加C语言考试,用一维数组score[36]存放考试成绩,已给出一部分程序,完善以下程序,使其实现统计并输出不及格人数及百分比。
#include
void main (void)
{ int i;
float scoer[36], precent;
int count=0;
for (i=0; i<36; i++)
{
scanf(“%f”, &score);

}

3. 完善以下程序使其实现由键盘任意输入一串字符,统计其中大写字母个数iA、小写字母个数ia、其他字符个数iother。
#include
#include
void main (void)
{
char str [80];
int i, iA=0, ia=0, iother=0;

}

4. 完善以下程序使其实现求方阵主和辅对角线元素之和及其转置矩阵,设方阵用二维数组a表示,转置矩阵用t表示,sl和s2表示主和辅对角线元素之和。
#include
void main(void)
{
int a[3] [3]={1,3,5,7,9,11,13,15,11};
int i, j, s1, s2;
int t[3] [3];
printf(“%d, %d,\n”,s1, s2);
for(i=0; i<3; i++)
for(j=0; j<3; j++)
printf(“%3d”, t [j]);
}

5. 已知字符数组str[80],编写返回指针的子函数,实现在其中查找字符ch首次出现的位置。
#include
#include
#include
char *lstrchar(char*, char);
void main(void)
{
char c, *p, str[80];
gets (str);
scanf(“%c”, &c);
p=lstrchar(str,c);
if(p==NULL) printf(“char %c not found\n”c);
else printf(“The position is %d”, p-str);
char “lstrchar( )
{ }

历年全国计算机二级考试c语言真题及答案
http://jsj.lsxy.com/UploadFiles/20064222324839.rar

B. C语言单项选择题1

BAA
4.B 数组名a表示首元素地址
ACC
8.A 还有一个位置用于存放 字符串结束标志'\0'
9.A
10.B

C. C语言单项选择题4:

41.D
42.B
43.B
44.A
45.D
46.C
47.B
48.B
49.D
50.A

就第一个需要注意一下, 像这样定义struct link *p,*q;的结构体指针,是不能这样调用的:p.data。只能p->data
或者(*p).data:
而这里的 “*” 可以理解为 取值 符号和“&” 取地址是相反的作用。和定义指针的时候是不一样的

D. C语言 单选题

3、在C语言程序中,当调用函数时,正确的是(
D)。
1)形参在相应的函数中需要分配存储单元
2)内部变量从定义变量开始占用存储单元,作用于函数内部
3)外部变量extern是在函数外部定义,从变量定义开始占用存储单元,至到本程序文件结束
4)全局变量是在程序全部执行过程中都占用存储单元
这里容易混淆是外部变量和全局变量
4、下列选项中属于三元运算的运算符有(
A)。
A、条件运算符
a
?
b
:
c
三元
B、赋值运算符
a=b
二元
C、逗号运算符
a,b
二元
D、自增运算符
a++
一元,也叫单目运算

E. C语言 单项选择题

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

#defineTRUE 1
#defineERROR 0
#defineMAX 30
typedefint Status;

typedefstruct{
charoption1[30],option2[30],option3[30],option4[30],subject[150];
char result;
}TestNode;
TestNodeTestquestions[MAX];

StatusSaveNode(int N) //把结构体数组保存到文件"cheng"中,如成功保存返回TRUE,否则返回ERROR

{ int i;
FILE *fp;
if((fp=fopen("cheng","wb"))==NULL)return ERROR;
for(i=0;i<N;i++)
fwrite(&Testquestions[i],sizeof(TestNode),1,fp);
fclose(fp);
return TRUE;
}

StatusReadNode(int &N) //从文件读出结构体数组的内容,如成功读取返回TRUE,否则返回ERROR

{ FILE *fp;
int i=0;
if((fp=fopen("cheng","rb"))==NULL)return ERROR;
while(!feof(fp))// 用feof检测文件是否结束,如果结束,返回正确
{ fread(&Testquestions[i],sizeof(TestNode),1,fp);
i++;
}
N=i-1;
return TRUE;
}

voidInputTitle(int N)// 输入N道试题数据
{
int i;
for(i=0;i<N;i++)
{ printf("请输入第%d道题题目、题干和选项:\n",i+1);//输入结构体元素内容
printf("请输入题目:");
gets(Testquestions[i].subject);
printf("请输入选项A:");
gets(Testquestions[i].option1);
printf("请输入选项B:");
gets(Testquestions[i].option2);
printf("请输入选项C:");
gets(Testquestions[i].option3);
printf("请输入选项D:");
gets(Testquestions[i].option4);
printf("请输入答案:");
scanf("%c",&Testquestions[i].result);getchar();
system("cls"); //清屏
}
}

StatusInsertNode(int &N) //插入试题内容
{
if(N>MAX) return ERROR;
printf("请输入所要插入题题目、题干和选项:\n");
printf("请输入题目:");
gets(Testquestions[N].subject);
printf("请输入选项A:");
gets(Testquestions[N].option1);
printf("请输入选项B:");
gets(Testquestions[N].option2);
printf("请输入选项C:");
gets(Testquestions[N].option3);
printf("请输入选项D:");
gets(Testquestions[N].option4);
printf("请输入答案:");
scanf("%c",&Testquestions[N].result);getchar();
N++; //N表示结构体数组长度,通过加&号使其值能返回
return TRUE;
}

StatusDeleteNode(int n)//删除数组中的第n个元素
{
return TRUE;
}

voidprintNode(TestNode p,int n)//输出第n道题题目
{
printf("(%d) ",n);
printf("%s\n",p.subject);
printf(" A %s ",p.option1);
printf(" B %s \n",p.option2);
printf(" C %s ",p.option3);
printf(" D %s ",p.option4);
}

Status Match(TestNode p,char m)//判断m是否为p题目的答案,若是返回TRUE,否则返回ERROR
{
if(m==p.result) return TRUE;
else return ERROR;
}

voidanswer(int sum)//进行答题
{

int i,score=0,Num;
char r;

for(i=1;i<=sum;i++)
{ Num=rand()%sum; //随机函数,以随机选定何题进行解答
printNode(Testquestions[Num],Num+1);
printf("\n请输入答案:");
scanf("%c",&r);getchar();
if( Match(Testquestions[Num],r)) //调用函数IsMatch判断所输入的答案与标准答案是否相同
{ printf("\n答案正确!\n");
score++;
}
else printf("\n答案错误!\n");
}
printf("\n你的总成绩为:%d\n",score);
}

voidmain()
{ char flag='N';
int N=0,i, sum,score=0,chose;

/*printf("输入想建立的题目文件题目数:");
scanf("%d",&N);getchar();
InputTitle(N);*/
ReadNode(N);
while(flag=='N'||flag=='n')
{ printf("\t\t\t单项选择题标准化考试系统\n");
printf("\n");
printf(" \t\t\t1 进行答题并判卷\n");
printf(" \t\t\t2 显示整张试卷内容\n");
printf(" \t\t\t3 插入试题\n");
printf(" \t\t\t4 保存到文件\n");
printf(" \t\t\t5 退出系统\n");
printf(" \t\t\t 请选择:");
scanf("%d",&chose);getchar();
switch(chose)
{case1:system("cls");
printf("请输入你想要的答题数目:");
scanf("%d",&sum);getchar();
answer(sum);
break;
case 2:system("cls");
for(i=1;i<=N;i++)
{ printNode(Testquestions[i-1],i);
printf("\n");
}
break;
case 3:system("cls");InsertNode(N);break;
case 4:system("cls");
if(SaveNode(N)) printf("保存成功!\n");
else printf("保存失败!\n");break;
case 5:printf("你将退出系统(Y or N)?");
scanf("%c",&flag);getchar();
if(flag=='Y'||flag=='y') exit(0);
system("cls");break;
default:printf("请输入正确选择!\n");
}
}
}
请采纳。

F. c语言考试单项选择提

BBADCBDABA

G. C语言的一道单选题,求解

A选项:必须在主调函数中说明此数组的大小,不一定例如传递一个char类型的字符串,就不需要。所以A是错的。

B选项:实参数组类型与形参数组类型可以不匹配。实参和形参,类型顺序必须一致,不然调用不了。B错

C选项:在被调用函数中,不需要考虑形参数组的大小。因为传数组都是只传一个地址过来,而如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值。本选项说是不考虑形参数组的大小是对的。

D选项:实参数组名与形参数组名必须一致,明显错误。

H. 计算机二级c语言考试题型及分值

单项选择题共四十题,四十分,每一个选择分值为1分,其中单项选择中含公共基础知识,该部分十道题,占10分。

二、程序填空题

程序填空题有2-3个空,占比分值18分,该题型为上机题,其三个空占比18分,可想而知其重要性。

三、程序改错题

程序改错题有2-3处错误,该题型分值占比也是18分,难度比程序填空题略难。该题型也为上机题,也许重视该类题型。

四、程序设计题

程序设计题是计算机二级C语言考试重点,该题为一大题,占比分值24分,该题型也为上机题,为考试重点,需多加练习。

注:二级公共基础知识在各科考试选择题中体现。程序设计部分,主要考查考生对程序设计语言使用和编程调试等基本能力,在选择题和操作题中加以体现。

计算机二级c语言考试考试要求:

一、熟悉Visual C++2010 Express集成开发环境。

二、掌握结构化程序设计的方法,具有良好的程序设计风格。

三、掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

四、在Visual C++2010 Express集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。

以上便是计算机二级c语言考试题型及分值说明。

I. 一些c语言单项和多项选择与判断

日语中没有固定的这些词的对应词考试时都是以句子来表达的,但是我还是给你弄成词的形式了,这真不是机译啊,绝对准确滴~~
填空题,
空栏记入问题(くうらんきにゅうもんだい)

判断对错,
丸罚问题(マルバツもんだい)

排序题,
配列问题(はいれつもんだい)

连线题,
接続问题(せつぞくもんだい)

单项选择,
选択问题(せんたくもんだい)
多项选择,
选択问题、一个以上(せんたくもんだい、いっこいじょう)
简答题,
以下の问题は手短に答えてください。(这里实在不能用词表达了。。)
操作题
操作问题(そうさもんだい)

J. C语言单项选择题4

31.答:A)

32.答:C)

33.答:A)

34. 答:A)

35. 答:A)

36.答:A)

37.答:C)

38.答:B)

39.答:D)

40.答:A)
详解如下:
31.
以下4个变量定义中,定义p为二级指针的是()。
A) int **p;
B) int (*p)( );
C) int *p[10];
D) int (*p)[10];

答:A)
指向指针的指针,称为二级指针

32.
*若有以下定义和赋值语句, 则与&s[i][j]等价的是()。
int s[2][3]={0}, (*p)[3], i, j;
p=s; i=j=1;

A) *(*(p+i)+j)
B) *(p[i]+j)
C) *(p+i)+j
D) (*(p+i))[j ]

答:C)&s[i][j]等价 s[i][j]的地址
(*p)[3]表示指向数组的指针,又称数组指针,
*(p+i)表示指向s的第i行
*(p+i)+j就是第i行第j列的地址

33.
以下4个变量定义中,定义p为指针数组的是()。
A) int *p[10];
B) int (*p)( );
C) int **p;
D) int (*p)[10];

答:A)
指针数组是数组元素为指针的数组

34.
在C语言中,表示结束当前函数的语句是()。
A) return语句
B) break语句
C) continue语句
D) end语句

答:A)

35.
*若已定义x为int类型变量,下列定义指针变量p的语句正确的是()。
A) int *p=&x;
B) int p=&x;
C) int *p=x;
D) int p=x;

答:A)

36.
在C语言中,表示循环的一组语句是()。
A) for, while, do-while
B) for, while, do-until
C) for, loop, do-loop
D) for, for each, while

答:A)

37.
以下选项中,合法的函数说明语句是()。
A) void func( char a[], b[]);
B) void func( *a, char b[]);
C) void func( char a[], char *b);
D) void func( char *a, *b );

答:C)

38.
*以下定义语句中正确的是()。

A) char a="A", b="B" ; //"A"是字符串
B) char *p="abcd", *q=p+1;
C) int a=b=0; //b未定义
D) float *a, b=&a; //a未分配内存

答:B)

39.
*设有以下语句:
struct st
{ int n;
struct st *next;
}a[3]={5, &a[1], 7 , &a[2], 9, '\0'}, *p=a;
则以下表达式的值为6的是()。
A) p++->n
B) p->n++
C) (*p).n++
D) ++p->n

答:D)

p指向链表的第一个点n=5;++5=6 选D
B和C虽然也指向链表的第一个点n=5,但是是后缀++,n=6,表达式还是5

40.
设有以下结构体定义及初始化,则表达式结果为'i'的是()。
struct node
{
int num;
char name[20];
} stu[2]={101, "Wang",102, "Li"},*p=stu;

A) stu[1].name[1]
B) p->name[1]
C) stu[0].name[1]
D) p->name[1]+1

答:A)

辛苦给点分吧,555

热点内容
术后解压 发布:2025-07-14 16:39:47 浏览:660
手机版我的世界怎么输入服务器ip 发布:2025-07-14 16:25:21 浏览:721
pythonsysstdout 发布:2025-07-14 16:15:29 浏览:196
ef数据库更新模型 发布:2025-07-14 16:14:05 浏览:411
少儿编程教育平台 发布:2025-07-14 16:13:54 浏览:301
相关存储格式图片 发布:2025-07-14 16:13:50 浏览:144
搭建酒店服务器 发布:2025-07-14 16:13:49 浏览:133
下载pythonmysqldb 发布:2025-07-14 16:05:43 浏览:977
生化危机5配置要求怎么样 发布:2025-07-14 15:38:56 浏览:301
苹果电话为什么打不开密码 发布:2025-07-14 15:33:45 浏览:46