资源描述
结构化程序设计语言编写程序由三种结构组成:顺序结构、分支结构和 。
一个完整C程序可以有多个函数,其中有且只能有一个名为 函数。
数学式所相应C语言表达式为 (m, 1/3.0)。
在调用函数fopen("d:\\b.dat", "r")时,若d盘根目录下不存在文献b.dat,则函数返回值是 。
实行下面程序段中语句“k = A*A+1;”后k值是 。
#define B 2
#define A B+1
k = A*A+1;
已有定义“float m;double n;int a;long b;char c;”,则表达式m+n*a/m+b/n+c值类型为 。
C语言有效预解决命令总是以 开头。
已有定义“int a[10], *p=a+3;”,则数组a 最终一个元素是p[ ]。
已有定义“int n=12; double a;”,则实行语句“a=n/=5;”后,a值为 。
若要申明一个类型名STR,使得定义语句STR s等价于char *s,则申明语句是 。
程序设计语言发展经历了多个阶段:机器语言、汇编语言和 。
一个C程序总是从 函数开始实行。
已有定义“double a=5, b=10;”,则计算ab库函数调用形式是 。
已有定义“char ch='a';”,则表达式ch=ch-'a'+'A'值为字符 编码。
表达“x≥y≥z”C语言表达式是x>=y 。
C语言有效预解决命令总是以 开头。
常量'\n'数据类型是 。
已有定义“int b[10], *p=b, *q; q=&b[5];”,则表达式q-p值是 。
在文献中,以符号常量EOF作为文本文献(字符流文献)结束标记,EOF代表值是 。
若要申明一个类型名STR,使得定义语句STR s等价于char *s,则申明语句是 。
结构化程序设计语言编写程序由三种结构组成:顺序结构、 和循环结构。
C语言中除复合语句外其它所有语句所有以 结束。
已有定义“double a=10, b=5;”,则计算ab库函数调用形式是 。
C语言有效预解决命令总是以 开头。
已有定义“char a=1; int b=2; float c=3; double d=4;”,则表达式“c=a+b+c+d”值类型为 。
用typedef定义一个长度为10整型数组NUM语句是 。
实行下面程序段中语句“k = A*A+1;”后k值是 。
#define B 2
#define A B+1
k = A*A+2;
已有定义“int a[][4]={1, 2, 3, 4, 5, 6, 7, 8, 9};”,则数组a第一维大小是 。
程序中已使用预解决命令“#include<stdio.h>”,为使语句“fp=fopen("asc.txt","r");”能正常实行,在该语句之前必需有定义FILE ;。
实行“printf("%d,%d", a, b, c, d); ”后在屏幕上将输出 个整数。
以下叙述中对的是
A)程序设计任务就是编写程序代码并上机调试
B)程序设计任务就是拟定所用数据结构
C)程序设计任务就是拟定所用算法
D)以上三种说法所有不完整
以下选项中,能用作用户标记符是
A)void
B)8_8
C)_0_
D)unsigned
阅读以下程序
#include
main()
{ int case; float printF;
printf(“请输入2个数:”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %f\n”,case,printF);
}
该程序编译时产生错误,其犯错因素是
A)定义语句犯错,case是关键字,不能用作用户自定义标记符
B)定义语句犯错,printF不能用作用户自定义标记符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case值
表达式:(int)((double)9/2)-(9)%2值是
A)0
B)3
C)4
D)5
若有定义语句:int x=10;,则表达式x-=x+x值为
A)-20
B)-10
C)0
D)10
有以下程序
#include
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序运营后输出结果是
A)0,0
B)1,0
C)3,2
D)1,2
设有定义:int a=1,b=2,c=3;,以下语句中实行效果和其它三个不同样是
A)if(a>b) c=a,a=b,b=c;
B)if(a>b) {c=a,a=b,b=c;}
C)if(a>b) c=a;a=b;b=c;
D)if(a>b) {c=a;a=b;b=c;}
有以下程序
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d\n”,c);
}
程序运营后输出结果是
A)3
B)5
C)7
D)9
以下程序段中,和语句:k=a>b?(b>c?1:0):0;功效相同是
A)if((a>b)&&(b>c)) k=1;
else k=0;
B)if((a>b)||(b>c) k=1;
else k=0;
C)if(a<=b) k=0;
else if(b<=c) k=1;
D)if(a>b) k=1;
else if(b>c) k=1;
else k=0;
20)有以下程序
#include
main()
{ char s[]={“012xy”};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’) n++;
printf(“%d\n”,n);
}
程序运营后输出结果是
A)0
B)2
C)3
D)5
有以下程序
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d\n”,k,n);
}
程序运营后输出结果是
A)0 2
B)1 3
C)5 7
D)1 2
有以下定义语句,编译时会出现编译错误是
A)char a=’a’;
B)char a=’\n’;
C)char a=’aa’;
D)char a=’\x2d’;
有以下程序
#include
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d\n”,c1,c2);
}
已知字母AASCII码为65,程序运营后输出结果是
A)E,68
B)D,69
C)E,D
D)输出无定值
有以下程序
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main()
{ int a=1;
fun(a); printf(“%d\n”,a);}
程序运营后输出结果是
A)32
B)12
C)21
D)22
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功效
#define MIN -
int findmax (int x[],int n)
{ int i,max;
for(i=0;i<N;I++)< p="" />
{ max=MIN;
if(max
return max;
}
导致错误因素是
A)定义语句int i,max;中max未赋初值
B)赋值语句max=MIN;中,不应给max赋MIN值
C)语句if(max
D)赋值语句max=MIN;放错了位置
有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d\n”,m,n,*p,*q);
}
程序运营后输出结果是
A)1,2,1,2
B)1,2,2,1
C)2,1,2,1
D)2,1,1,2
若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误赋值是
A)p=a
B)q[i]=a[i]
C)p=a[i]
D)p=&a[2][1]
有以下程序
#include
#include
main()
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s\n”,p);
}
程序运营后输出结果是
A)9,One*World
B)9,One*Dream
C)10,One*Dream
D)10,One*World
有以下程序
#include
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);
}
A)3 3 4 4
B)2 0 5 0
C)3 0 4 0
D)0 3 0 4
有以下程序
#include
#include
main()
{ char a[10]=”abcd”;
printf(“%d,%d\n”,strlen(a),sizeof(a));
}
程序运营后输出结果是
A)7,4
B)4,10
C)8,8
D)10,10
下面是相关C语言字符数组描述,其中错误是
A)不可以用赋值语句给字符数组名赋字符串
B)可以用输入语句把字符串整体输入给字符数组
C)字符数组中内容不一定是字符串
D)字符数组只能存放字符串
下列函数功效是
fun(char * a,char * b)
{ while((*b=*a)!=’\0’) {a++,b++;} }
A)将a所指字符串赋给b所指空间
B)使指针b指向a所指字符串
C)将a所指字符串和b所指字符串进行比较
D)检查a和b所指字符串中是否有’\0’
设有以下函数
void fun(int n,char * s) {……}
则下面对函数指针定义和赋值均是对的是
A)void (*pf)(); pf=fun;
B)viod *pf(); pf=fun;
C)void *pf(); *pf=fun;
D)void (*pf)(int,char);pf=&fun;
有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d\n”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序运营以后输出结果是
A)7
B)8
C)9
D)10
有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d\n’,s,t);
}
程序运营后输出结果是
A)10,64
B)10,10
C)64,10
D)64,64
下面结构体定义语句中,错误是
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;} a;
D)struct {int x;int y;int z;} a;
设有定义:char *c;,以下选项中可以使字符型指针c对的指向一个字符串是
A)char str[ ]=”string”;c=str;
B)scanf(“%s”,c);
C)c=getchar();
D)*c=”string”;
有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main()
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
程序运营后输出结果是
A)1001,ZhangDa,1098.0
B)1001,ZhangDa,1202.0
C)1001,ChangRong,1098.0
D)1001,ChangRong,1202.0
若有以下程序段
int r=8;
printf(“%d\n”,r>>1);
输出结果是
A)16
B)8
C)4
D)2
下列相关C语言文献叙述中对的是
A)文献由一系列数据依次排列组成,只能组成二进制文献
B)文献由结构序列组成,可以组成二进制文献或文本文献
C)文献由数据序列组成,可以组成二进制文献或文本文献
D)文献由字符序列组成,其类型只能是文本文献
下面表达中,不能用作C语言常量是 。
A.0UL B.(long)110
C.1e0 D.'\x2c'
设有定义和申明以下:
#define d 2
int a=3; float b=3.14; char c='d';
下面表达式中有语法错误是 。
A.a++ B.b++
C.c++ D.d++
若有枚举类型定义“enum vari{A1, A2, A3, A4=6, A5, A6};”,则枚举常量A2和A6代表值分别是 。
A.1,6 B.1,8
C.2,6 D.2,8
下面数组申明语句中对的是 。
A.int n, a[n]; B.int a[];
C.int a[2][3]={{2},{1},{3}}; D.int a[ ][3]={{2},{1},{3}};
下面函数定义中对的是 。
A.int fun(int a, b){} B.int fun(int a[][]){}
C.int fun(void){} D.int fun(static int a, int b){}
在C语言中,数字010是一个 。
A.十进制数 B.八进制数
C.十六进制数 D.非法数
若有说明“int a[3][4]={0};",则下面对的叙述是 。
A.只有元素a[0][0]可得到初值
B.此说明语句不对的
C.数组a中各元素所有可得到初值,但其值不一定为0
D.数组a中每个元素均可得到初值0
假如有申明“int m,n=5,*p=&m;”,和m=n等价语句是 。
A.m=*p; B.*p=*&n;
C.m=&n; D.m=**p;
已有定义“char b[6],*p=b;”,则对的赋值表达式语句是 。
A.b="China"; B.*b="China";
C.p="China"; D.*p="China";
已有定义“char ch[5]={'a', 'b', 'c', 'd'}, *p=ch, i;”,则下面语句中不能对的输出ch数组所有元素值是 。
A.for(i=0; i<4; i++) printf("%c", ch[i]);
B.for(i=0; i<4; i++) printf("%c", *(ch+i));
C.for(i=0; i<4; i++) printf("%c", *p++);
D.for(i=0; i<4; i++) printf("%c", *ch++);
C语言中可以解决文献类型有 。
A.文本文献和二进制文献 B.文本文献和数据文献
C.数据文献和二进制文献 D.以上三个所有不对
若有定义“int a[5],*b=a, (*c)[3],*d[3];”,则下面表达式中有语法错误是 。
A.a[0]=0 B.b[0]=0
C.c[0]=0 D.d[0]=0
已知有程序段“char str[][8]={"first", "second"}, *p=&str[0][0];printf("%s\n", p+8);”,则实行printf语句后输出为 。
A.second B.first
C.ond D.nd
下面叙述错误是 。
A.宏替换不占用程序运营时间 B.宏名无类型
C.宏名必需用大写字母表达 D.宏替换只是字符替换
设有定义和申明语句:
typedef struct cc
{ int a;
struct cc *b;
}node;
static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\0'}, *p=&aa[0];
下列选项中,表达式值不为5是 。
A.aa[1].b->a-2 B.p->b->a-2
C.(p+1)->a-2 D.p->a
下面相关共用体类型叙述对的是 。
A.可以给共用体类型变量直接赋值
B.一个共用体类型变量中可以同时存入其所有成员
C.一个共用体类型变量中不能同时存入其所有成员
D.共用体类型定义中不能同时出现结构体类型成员
表达式 sizeof("abc")值是 。
A.1 B.2 C.3 D.4
下面选项中,不能用作用户标记符是 。
A.&a B._00 C.FOR D.print
已知有申明“int x=3, y=4, z;”,则实行语句“z=1/2*(x+y);”后,z值是 。
A.0 B.3
C.3.5 D.4
下列运算符中,优先级最低是 。
A.* B.!=
C.+ D.=
一元二次方程ax2+bx+c=0有两个相异实根条件是a≠0且b2-4ac>0,下面选项中对的表达式是 。
A.a!=0, b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0
C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0
下面定义符号常量p为3.14中对的是 。
A.#define p 3.14; B.#define p(3.14)
C.#define p=3.14 D.#define p 3.14
已有定义“int x=4, y=3, z=5;”,下面4个程序段中有3个程序段实行效果是相同,另一个实行效果不同样是 。
A.if(x>y) z=x, x=y, y=z; B.if(x>y){z=x, x=y, y=z;}
C.if(x>y) z=x; x=y; y=z; D.if(a>y){z=x; x=y; y=z;}
下面相关continue和break语句叙述中对的是 。
A.continue和break语句所有可以出现在switch语句中
B.continue和break语句所有可以出现在循环语句循环体中
C.在循环语句和switch语句之外许可出现continue和break语句
D.实行循环语句中continue和break语句所有将立即终止循环
在while(e)语句中e和下面条件表达式等价是 。
A.e==0 B.e==1
C.e!=1 D.e!=0
若函数调用时实参为变量,则下面相关函数形参和实参叙述中对的是 。
A.实参和其相应形参占用同一存放单元
B.形参不占用存放单元
C.相同名称实参和形参占用同一存放单元
D.实参和其相应形参占用不同样存放单元
在C程序中,若对函数类型未加说明,则函数隐含类型为 。
A.int B.double
C.void D.char
下面函数中能对的计算n!(n<13)是 。
A.long f(long n) B.long f(long n)
{ { if(n<=1)return 1;
return n*f(n-1); else return n*f(n);
} }
C.long f(long n) D.long f(long n)
{ static long s,i; { long s=1,i;
for(i=1;i<=n;i++)s=s*i; for(i=1;i<=n;i++)s=s*i;
return s; return s;
} }
设n=10,i=4,则赋值运算“n%=i+1”实行后n值是 。
A.0 B.1
C.2 D.3
已有定义“int a=2;”,下面表达式中值不等于8是 。
A.a+=2,a*2 B.a+=a*=a
C.(a+7)/2*((a+1)%2+1) D.a*7.2/a+1
下面选项中,可以作为用户标记符是 。
A.6_6 B.void
C.unsigned D._0_
已有定义“int n; float a, b;”,则实行语句“b=n=a=3.89;”后,b值为 。
A.3 B.3.0
C.3.89 D.4.0
下列运算符中,优先级最低是 。
A.* B.!=
C.+ D.=
表达式 !(x>0&&y>0) 等价于 。
A.!(x>0)||!(y>0) B.!x>0||!y>0
C.!x>0&&!y>0 D.!(x>0)&&!(y>0)
下面定义符号常量p为3.14中对的是 。
A.#define p 3.14; B.#define p(3.14)
C.#define p=3.14 D.#define p 3.14
若变量已对的定义,语句“if(a>b) k=0; else k=1;”和 等价。
A.k=(a>b)?1:0; B.k=a>b;
C.k=a<=b; D.a<=b ? 0 : 1;
下面相关continue和break语句叙述中对的是 。
A.continue和break语句所有可以出现在switch语句中
B.continue和break语句所有可以出现在循环语句循环体中
C.在循环语句和switch语句之外许可出现continue和break语句
D.实行循环语句中continue和break语句所有将立即终止循环
在C语言中while和do-while循环关键区分是 。
A.do-while循环体最少无条件实行一次
B.do-while许可从外部转到循环体内
C.while循环控制条件比do-while循环控制条件严格
D.do-while循环体不能是复合语句
相关函数返回值,下面叙述中对的是 。
A.函数返回值类型由函数体内return语句包含表达式类型决定
B.若函数体内没有return语句,则函数没有返回值
C.若函数体中有多个return语句,则函数返回值是排列在最终面return语句中表达式值
D.函数返回值类型由函数头部定义函数类型决定
已有函数fun定义“int fun(int a, int b){ if(a<b)return (a, b);else return (b, a); }”,在main()函数中若调用函数f(3, 4),得到返回值是 。
A.3 B.4
C.3和4 D.4和3
下面相关return语句叙述对的是 。
A.一个自定义函数中必需有一条return语句
B.一个自定义函数中可以依据不同样情况设立多条return语句
C.定义成void类型函数中可以有带返回值return语句
D.没有return语句自定义函数在实行结束时不能返回到调用处
已有定义“int a,b;",实行语句“a=(b=2*3,b*5),b+6;”后,变量a值是 。
A.6 B.12
C.30 D.36
表达式 sizeof("\nsum=13\n") 值是 。
A.8 B.9
C.10 D.11
已有定义“int i, a=1; unsigned j;”,则下列语句实行时会出现无限循环语句是 。
A.for(j=15; j>0; j-=2)a++; B.for(j=0; j<15; j+=2)a++;
C.for(i=0; i<15; i+=2)a++; D.for(i=15; i>0; i-=2)a++;
下面定义中错误是 。
A.int a=0xFF; B.double a=1.2e0.5;
C.long a=2L; D.char a='\72';
设有定义和申明以下:
#define d 2
int a=3; float b=3.14; char c='d';
下面表达式中有语法错误是 。
A.a++ B.b++
C.c++ D.d++
下面申明中错误是 。
A.int b[2] B.int b[]={0, 1}
C.int b[3]=0 D.int b[3][4]={0}
下面函数定义头部对的是 。
A.int fun(int a[], b) B.int fun(int a[], int a)
C.int fun(int a, int b) D.int fun(char a[ ][], int b)
对两个数组a和b进行以下初始化:
char a[]="abcd";
char b[]={'a', 'b', 'c', 'd'};
则下面叙述对的是 。
A.a和b数组完全相同 B.数组a比数组b长度大
C.a和b中存放所有是字符串 D.a和b长度相同
若有说明“int a[3][4]={0};",则下面对的叙述是 。
A.只有元素a[0][0]可得到初值
B.此说明语句不对的
C.数组a中各元素所有可得到初值,但其值不一定为0
D.数组a中每个元素均可得到初值0
已有定义“int m=3, c, *a=&m, *b=&c;”,则下列语句中错误是 。
A.a=b=0; B.a=&c, b=a;
C.&a=&b; D.*b=*a;
已有定义“char b[6],*p=b;”,则对的赋值表达式语句是 。
A.b="Chinese"; B.*b="Chinese";
C.p="Chinese"; D.*p="Chinese";
已有定义“int k, b[10], *p=b;”,现需要将1~10保存到b[0]~b[9]中,下面程序段中不能实现这一功效是 。
A.for(k=1; k<10; k++)b[k]=k+1;
B.for(k=0; k<10; k++)p[k]=k+1;
C.k=1; while(p<b+10)*p++=k++;
D.k=1; while(p<b+10)*b++=k++;
对文献进行操作时,写文献含义是 。
A.将内存中信息写入磁盘
B.将磁盘中信息读到内存
C.将主机中信息写入磁盘
D.将磁盘中信息读到主机
已有定义“int a[4][4]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};”,若需要引用值为15数组元素,则下列选项中错误是 。
A.*(a+3)+2 B.*(*(a+3)+2)
C.*(a[3] +2) D.a[3][2]
若有定义“int a[3][4]={0}, *p1=a[1], (*p2)[4]=a;”,下面表达式中和“a[1][1]=1;”不等价是 。
A.*(p1+1)=1; B.p1[1][1]=1;
C.*(*(p2+1)+1)=1; D.p2[1][1]=1;
下面叙述错误是 。
A.宏替换不占用程序运营时间 B.宏名无类型
C.宏名必需用大写字母表达 D.宏替换只是字符替换
设有定义和申明语句:
typedef struct cc
{ int a;
struct cc *b;
}node;
static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\0'}, *p=&aa[0];
下列选项中,表达式值不为5是 。
A.aa[1].b->a-2 B.p->b->a-2
C.(p+1)->a-2 D.p->a
若有结构类型定义“typedef struct {int x, y[2]; }ABC;”,则下面申明中对的是 。
A.ABC x; B.struct x;
C.struct abc x; D.struct ABC x;
若有定义和申明typedef enum{green, red, yellow, blue, b1ack}color; color flower;,则下列语句中对的是 。
A.green=red; B.flower=red;
C.color=red; D.enum=red;
在下面各组标记符中,均可以用作变量名一组是 。
A.a02, Int B.table_1, a*.0
C.0_a, W13 D.for, point
已知有申明“int x=3, y=4, z;”,则实行语句“z=1/3*(x+y);”后,z值是 。
A.0 B.3 C.3.5 D.4
已有定义“int a=4, b=5, c=6;”,则下列表达式中值为0是 。
A.a&&b B.a<=b C.a||b&&c D.!(!c||1)
在 C 程序中,用 表达逻辑值“真”。
A.小于0数 B.非0数
C.非1数 D.大于0数
C源程序中命令#include和#define是在 阶段被解决。
A.预解决 B.编译 C.连接 D.实行
已有预解决命令“#include <math.h>”和申明“int x=4, y;”,下面语句中语法对的是 。
A.if(x%2=1)y=x; B.if(sqrt(x)%2)y=x;
C.if(x==1)y=x; D.if(x==1)y=&x;
下面相关continue和break语句叙述中对的是 。
A.continue和break语句所有可以出现在switch语句中
B.continue和break语句所有可以出现在循环语句循环体中
C.在循环语句和switch语句之外许可出现continue和break语句
D.实行循环语句中continue和break语句所有将立即终止循环
下面相关循环语句结论中错误是 。
A.可以用while语句实现循环,一定可以用for语句实现
B.可以用for语句实现循环,一定可以用while语句实现
C.可以用do-while语句实现循环,一定可以用while语句实现
D.do-while语句和while语句区分仅是关键字“while”出现位置不同样
C语言中函数返回值类型是由 决定。
A.return语句中表达式类型
B.调用该函数主函数类型
C.定义函数时所指定函数类型
D.以上所有也许
已有函数fun定义“void fun2(void) {printf("That’s great! ");}”,则调用fun2函数对的形式是
展开阅读全文