main(){intI,t=1,s=0;for(I=1;I<=10;I++){t*=I;s+=t;}printf(\"s=%d\若有以下程序段,a,b都是整型变量:a=b; x:if(a==0)goto y; a--;printf(\"*\"); goto x; y:„„ 则不能与上面程序段等价的循环语句是____。
以下关于switch语句和break语句的描述正确的是____。
32单选
32单选32单选32
单选
32单选
32判断32判断32判断33单选33单选33单选33单选33单选33单选33单选33单选33单选33单选34单选34单选34单选34单选34单选34单选34单选34单选34单选34单选35单选35单选35单选35单选35单选35单选35单选35单选35单选35单选36单选下面程序的运行结果是____。 #include \"stdio.h\" main()
{ char str[]=\"SWLIA\ int k;
for(k=0;(c=str[k])!='\\0';k++) { switch(c)
{ case 'I':++k;break; case 'L':continue;
以下关于switch语句和break语句的描述正确的是____。
以下____程序段等价于for(k=100;k〈=200;k++){if(k%3==0)continue;printf(“%4d”,k);}
执行下面的程序,x的值为____。 main(){intx,y;for(x=1,y=1;x<=50;x++){if(y>=15)break;if(y%5==1){y+=5;continue;}y-=2;}}若有以下程序段:for(m=1;m<=100;m++)
{ scanf(“%d”,&y);if(y<0) continue;
printf(“%3d”,m); }正确的描述是____。
goto语句为无条件转移语句
break语句对于减少循环次数,加快程序执行速度起着重要作用。continue语句可以用在switch语句中。以
下4个选项中,不能看作一条语句的是对
于for(表达式1;;表达式3)可以理解为_____有如下程序void main(){ float x=2.0,y; if(x<0.0) y=0.0; els设x=10,y=5;z=15,执行下面一段程序后z的结果是_____。If(x>y)有如下程序void main(){ int a=2,b=-1,c=2;if(a) if(b<0) c=0;设x=10,y=5;z=15,执行下面一段程序后z的结果是_____
if(x>y)假定所有变量均已正确说明,下列程序段运行后x的值是( )。有如下程序void main(){ int a=2,b=-1,c=2;if(a) if(b<0) c=0;为了避免在嵌套的条件语句if-else中产生二义性,c语言规定:else子设x=10,y=5;z=15,执行下面一段程序后的结果z是_____if(x>y)引用数组元素时,数组下标可以是_____。以下不正确的定义语句是________。以
下叙述中错误的是下
面错误的初始化语句是_____合法的数组定义是( )。
已
知int型二维数组a[3][4],数组元素a[1][2]的地址不能表达为_____若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是____若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是下列描述中不正确的是
引
用数组元素时,数组下标可以是_____以下列一维整型数组a的正确说明是________
若有定义:int b[5];,则以下对b元素的正确引用是
若有以下说明:int x[9]={1,2,3,4,5,6,7,8,9}; char c='a',d,f;则数已
有定义:char a[]=\"xyz\若有以下语句,则对x数组引用不正确的是 int x[]={1,2,3,4,5,6},*p若有定义:int c[5],*p=c;,则以下对c数组元素地址的正确引用是若有定义:int x[5], *p=x;,则不能代表x数组首地址的是定义了一维int型数组a[10]后,下面错误的引用是_____。若有说明:int a[10];则对数组元素的正确引用是________。
已
知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不可以用来表若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为___
e el 36单选36单选36单选36单选36单选36单选36单选36单选36单选37单选37单选37单选37单选37单选37单选37单选37单选37单选37单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选38单选39单选39单选39单选39单选39单选39单选39填空39填空39填空39填空40单选40单选40单选40单选40单选40单选40单选40单选若有说明:int a[3][4];则对a数组元素的非法引用是________
若有定义:int a[2][3];则以下对a数组元素地址的正确表示为( )以下能对二维数组a进行正确初始化的语句是________。若二维数组a有m列,则在a[i][j]前的元素个数为________。下面的二维数组初始化语句中,错误的是_____
若有说明:int a[3][4]={0};则下面正确的叙述是________。若有说明语句:int y[][4]={0,0};,则下面不正确的叙述是
若有说明语句:int a[][3]={1,2,3,4,5,6,7,8};则a数组的行定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为定义如下变量和数组: int k; int a[3][3]={1,2,3,4,5,6,7,8下面程序的运行结果是________。 main() { int a[6],i; 下面程序的运行结果是________。 main()
{ int a[6][6],i,j;定义如下的变量和数组int I;int y[2][3]={2,4,6,8,10,12}则下面语句以下程序段给数组所有的元素的输出数据,请选择正确的答案#include定义如下变量和数组int m;int a[2][2]={1,2,3,4};则下面语句的输出以下程序片段的输出结果是( ),int I;int x[3][4]={1,2,3,4,5,6有以下程序 int f(int a){ return a%2; }main(){ int s[8]={1,3,5,执行下面的程序段后,变量k中的值为 int k=3, s[2]; s[0]=k以下程序的输出结果是 main( ) { char a[10]={'1','2',下面程序的运行结果是________。 #include \"stdio.h\"
#inclu若有以下语句,则正确的描述是char x[]=“12345”;char y[]={‘1’下面程序段的运行结果是char x[5]={‘a’,‘b’,‘\\0’,‘c’,下列初始化字符数组的语句中,错误的是_____
若有以下程序段,则正确的输出是( ),char *p=\"break\若有以下定义:char a[10]=\"student\已
知:char str[10],*p=str; 下面的语句中正确的是_____有以下程序main( ){
char *p[10]={“abc”,”aabdfg”,”dcdbe”,”s
trlen(\"A\\0B\\0C\")的结果为_____对于\"xy\\n\\102\\\\\\'\"字符串的长度是_____
有字符数组s1[80]和s2[80],则以下正确对s1,s2进行输出的语句是若有语句:char s1[10],s2[10]={\"books\下面能正确进行字符串赋值操作的是
设有说明语句:char *str=\"\\\'c\\\\Language\\n\";,则指针str所指字符下列程序段中,不正确的字符串赋值或初始方式是( )。不能把字符串:Good!赋给数组s的语句是( )。以
下语句或语句组中,能正确进行字符串赋值的是char str[]=\"Hello\
若二维数组y有m列,则在y[I][j]前的元素个数为
若有说明语句:int a[][3]={1,2,3,4,5,6,7,8};则a数组的行若二维数组a有m列,则在a[i][j]前的元素个数为________。
定
义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为___如果sizeof(int)=4,则int a[5];sizeof(a)=_____char ch[10],则sizeof(ch)=_____
如果sizeof(int)=2,则int a[2][5];sizeof(a)=_____如果sizeof(int)=4,则int a[4][5];则a[3]-a[1]=_____如果一个函数被说明为static,那么_____。下面关于局部变量的描述中,错误的是_____。
函数求sum(int n)的功能是计算自然数1到n的和,即1+2+„+n。Main()下面的描述错误的是_____。
凡是函数中未指定存储类别的局部变量,其隐含的存储类别为以下不正确的说法为
下面的描述错误的是_____
下
面关于局部变量的描述中,错误的是_____40单选40单选41单选41单选41单选41单选41单选41单选41单选41单选41单选41单选42单选42单选42单选42单选42单选42单选42单选42单选42单选42单选43单选43单选43单选43单选43单选43单选43单选43单选43单选43单选44单选44单选44单选44单选44单选44单选44单选44单选44单选44单选45单选45单选45单选
45单选
46单选46单选
一个c程序的执行是从________下
面的描述错误的是_____设函数fun的定义形式为:fun(char ch,float x){„}则以下对函数fun若程序中定义了以下函数 double myadd(double a,double b) 有以下程序int fun(int x , int y){ if(x下面关于全局变量的描述中,错误的是_____已知声明:float *function(int i); 我们可以得知_____以下叙述中正确的是
下列关于getchar()函数说法正确的是______。下面程序的运行结果为_____#include “stdio.h”void main(){struc以下正确的函数说明是以下正确的函数形式是以下正确的说法是
C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是
如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是若使用一维数组名作函数实参,则以下正确的说法是
以下程序的运行结果是 #include void ff1(){extern int x以下程序的运行结果是void sub(int x,int y,int *z){*z=y-x;}main(有以下程序void f(int *x,int *y){ int t;t=*x;*x=*y;*y=t;}若使用一维数组名作函数实参,则以下正确的说法是有以下程序 int fun(int a){ return a%2; }main(){ int a[8]={1,3,函数返回值的类型是由_____决定的。如果需要将一个全局变量定义成只能被当前文件的函数使用,它的类型C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了以下程序段结果是main(){int a=1,k;for(k=0;k<3;k++)printf(\"%4d\函数返回值的类型是由_____决定的。
设有变量定义和函数调用语句:int a=20 ;print-value(&a);下面函putchar函数可以向终端输出一个有以下程序void sum(int *a) { a[0]=a[1];}main( ){ int B[10]={1有如下程序int a=3;int fun(int n){if(n%2)return a--;else retur下面程序的运行结果是( )。void prt(int *a){ printf(“%d\\n”有以下程序int f1(int x,int y){return x>y?x:y;}i
nt f2(int 在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了下面程序的运行结果是( )。# include void select(有以下程序int f1(int x,int y){return x>y?x:y;}int f2(int 以下正确的描述是( )。阅读程序,输出结果是( )。 max(int x,int y){int z;z=x>y?x:y;r阅读程序,分析程序执行结果是( )。 char fun(char x , char y){ if(x return y;}
main( )
{ int a=’9’,b=’8’,c=’7’;
printf(\"%c\\n\}
阅读程序,分析程序输出结果是( )。 fun(int a, int b) { if(a>b) 若有说明:char *pc[ ]={\"aaa\
46单选46单选47单选47单选47单选47单选48单选49单选49单选49单选49单选50单选51单选51单选51单选51单选51单选51单选51单选51单选51单选51单选52单选52单选52单选52单选52单选52单选52单选52单选52单选52单选53单选53单选53单选53单选53单选53单选53单选53单选53单选53单选54单选54单选54单选54单选54单选54单选54单选54单选54单选54单选55单选55单选下列结论中只有一个是正确的,它是( )。
在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函如果需要将一个全局变量定义成只能被当前文件的函数使用,它的类型应在一个源文件中定义的外部变量作用域为( )。下面关于全局变量的描述中,错误的是( )。
阅读程序,分析输出结果是( )。 void f(int i) {static int x=1;in以下描述正确的是( )。以下叙述中正确的是( )。以下叙述中正确的是( )。
一个完整的c语言程序包含一个或多个函数,对于函数main(),哪种说法是如果一个函数被说明为static,那么( )。
若有以下说明,且0<=I<5,则( )书对数组元素地址的正确表示,int a[]=下面语句中,错误的是_____。
以下能正确读入字符串的程序段是________。
已
知:char str[10],*p=str; 下面的语句中正确的是_____下面语句中,错误的是_____
若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。若有说明:char c='9',*sp1,*sp2;,以下均正确的一组赋值语句是以下对指针变量的操作中,不正确的是以下对指针变量的操作中,不正确的是
设有语句:int k=1,*p1=&k,*p2=&k;,以下不能正确执行的赋值语句是若有语句int a=4,*p=&a;,以下均代表地址的一组选项是下列程序的运行结果是______。#include #include # include <以下对指针变量的操作中,不正确的是( )执行下面程序段后,x,y,p的值是( ),int x=10,y,*p;p=&x; y=*执行下面程序段后,y和p的值是( ),int x[]={10,20};int y,*p;p假定p1和p2是已赋值的int类型指针,则下面有关运算中,()是非法假设c是字符行变量,p1和p2是已赋值的字符型指针,则下述有关运算中下面程序的输出结果是( )。#include main(){int*p1,*p下面程序的输出结果是( )。#include main(){int x=10,若有说明:char *pc[ ]={\"aaa\ 若有定义:int x[10], *p=x;,则*(p+5)表示( )若有以下语句,则对x数组元素引用不正确的是( )。i
nt x[ ]={1, 以下程序执行后a的值为 main(){int a,m=2,k=1,*p=&k; a=p==&m; pr若有以下语句,则对x数组引用不正确的是 int x[]={1,2,3,4,5,6},*p若有定义:int c[5],*p=c;,则以下对c数组元素地址的正确引用是若有定义int (*p)[3];,则对以下叙述正确的是
若有以下定义和语句,则对m数组元素地址正确的引用是 int m[2][3],若有定义:int x[5], *p=x;,则不能代表x数组首地址的是
若有以下定义和语句,则对a数组元素的正确引用是 int a[2][3],(*p)以下程序段的运行结果是( )。char a[ ]=\"program\p=a;whi已知:char *pstr[]={\"abcd\已知:char str[10],*p=str; 下面的语句中正确的是_____以下判断正确的是( )。
以下程序段的输出结果是( )。char a[ ]=\"Program\ptr=a下面程序的运行结果是( )。# include # include 以下程序段的运行结果是 char str[]=\"xyz\以下程序段的输出结果为 char a[]=\"Program\以下语句不正确的是有以下程序void f(int *x,int *y){ int t; t=*x;*x=*有以下程序point(char *p){ p+=3;}main(){char b[4]={'a','55单选55单选55单选55单选55单选55单选55单选55单选56单选56单选56单选56单选56单选56单选56单选56单选56单选56单选59单选60单选60单选60单选60单选60单选60单选60单选60单选60单选
60单选
61单选61单选61单选61单选61单选61单选61单选61单选
61单选
下面程序的输出结果是( )。#includemain(){char c[2以下程序的输出结果是( )。#includemain(){int m[5]下面程序的输出结果是( )。#includemain(){static c下列程序的运行结果是______。#include #include 若有函数max(a,b),并且已使用指针变量p指向函数max,则利用函数若已有定义int(*p)();则指针p下面程序的运行结果是#include \"stdlib.h\"fun(int **a,int p[2][3]若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素有以下定义和语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*已
知:char str[10],*p=str; 下面的语句中正确的是_____有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表以
下语句或语句组中,能正确进行字符串赋值的是有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5]有以下程序main( ){
char *p[10]={“abc”,”aabdfg”,”dcdbe”,”已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不可以用来表以下程序的输出结果是 main( ) {
char a[10]={'1','2',若有以下说明:int a[3][5]={{1,2},{3,4,},{5,6}}; int(*p)[5]=a;则
若要利用下面的程序段使指针变量p指向一个储存整型变量的储存单元,则应填入下列描述正确的是( )。下列描述说明正确的是( )。下列描述说明正确的是( )。在16位PC机中,若有定义:struct data { int i; char ch; double f; } b 则结构变量当定义一个结构体变量时,系统为它分配的内存空间是()。以下选项中不能正确把cl定义成结构体变量的是______。以下对结构体类型变量td的定义中,错误的是______。有以下程序段:typedef struct NODE { int num; struct NODEC语言结构体类型变量在程序执行期间______。 设有以下语句:typedef struct S { int g; char h; }T;
则下面叙述中正确的是______。下列描述说明正确的是( )。
若程序中有下面的说明和定义:struct mnp{int a,char b;} struct mnp r,s; „„ 则会发生的情况是(下列描述说明正确的是________。以下正确的说法是________。
结构体类型变量在程序执行期间,________。若程序中有下面的说明和定义 struct abc {int x;char y;} str设有以下说明语句 struct stu { int a; float b; } stutype; 则下面不正确的叙述是(若有以下定义: struct stru {int a; long b; char c[6];} sampl; 则以下赋值正确的是以下程序的输出结果是________。main(){
struct cmplx{int x; int y;} cnum[2]={1,3,2,7};printf(\"%d\\n\}
_ ___。int *p; pb占用内存的字节数是 ) )。________。61单选
62单选
62单选
62单选
62单选
62单选
62单选62单选62单选62
单选
下列程序的输出结果是________。struct abc{ int a, b, c; };main( )
{struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0].a+s[1].b;printf(\"%d \\n\}
下列描述说明正确的是( )。以下程序的输出结果是( )。#includemain(){union{int i[2];long k;char c[4];} r, *s=&r;s->i[0]=0x39;s->i[1]=0x38;
printf(\"%c\\n\}
在计算机上使用VC++6.0,若有如下定义:union data{int i;char c;float f;} b;
则共用体变量b占用内存的字节数是( )。
在计算机上使用VC++6.0,变量a所占内存字节数是( )。union U{ char st[4];int i;float l;};
struct A{ int c;
union U u; }a;
在计算机上使用VC++6.0,以下程序的输出结果是( )。#includemain(){union un {int a[2]; long b; char c;} ;printf(\"%d\\n\}
当定义一个共用体变量时,系统分配给它的内存是( )。 以下对C语言中共用体类型数据的叙述正确的是( )。下面对typedef的叙述中不正确的是( )。若有以下程序段:
union data { int i; char c; float f;} a; int n; 则以下语句正确的是( )。
62单选63单选63单选63单选63单选63单选63单选63单选64单选64单选64单选64单选64单选64单选64单选64单选65单选65单选66单选66单选66单选67单选67单选67单选68单选68单选68单选68单选68单选68单选68单选68单选68
单选
以下程序的输出结果是( )。
union myun { struct { int x, y, z; } u; int k; } a;main( ) {
a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(\" %d\\n\}
下面对typedef的叙述不正确的是
程序运行结果是typedef union{long a[2;int b[4];char c[8];]}exam以下对枚举类型名ee的定义中正确的是以下对枚举类型名a的定义中正确的是有关枚举类型,下列定义正确的是
有关枚举类型,enum day{first=6,second=4,third,fourth,fifth,six设有如下枚举类型定义enum number{first=1,second,ten=10,eleven};设有以下说明和定义typedef int*INTEGER; INTEGER p,*q;以下叙述正下面对typedef的叙述不正确的是
有以下说明typedef union{long a;int b[5];char c;}DT;struct da{i程序运行结果是( )。 typedef union{long a[2;int b[4];char c[8设有以下说明语句 typedef struct {int a; float b;}STUTYPE; 则下下列描述说明正确的是
以下选项中,能定义s为合法的结构体变量的是
下面程序的输出结果是 typedef struct{ long x[2];short y[4];ch以下程序的运行结果是_____。 typedef union { long a[2]; f下面程序的输出是_____。 #include union pw { int i若有以下结构体说明和变量定义 struct ss { char x; struc设有以下语句,则输出结果是______。 struct List { 在一个单链表中,已知q是p的前趋结点,若q和p之间插入结点s,则执行下列描述不正确的是C语言的编译系统对预编译命令的处理是下面哪个不是c语言中定义的预编译指令C语言的编译系统对宏命令的处理是以下有关宏替换的叙述不正确的是下面程序的输出结果是_______。 #include #define M 5 #define N M下面程序的输出结果是_______。 #include #define M 5 #define N M有以下程序 #define HDY(A,B) A+B #define PRINT(Y) printf(\"y=%d\\下面描述不正确的是
以下有关替换叙述中,错误的是
.#include #define m(x) x*x void main() {int a=30,k=3,m=2; a/=m执行以下程序后,m的值是( )。 #define MIN(x,y)(x)<(y)?(x):(y)
选项ACPUCPU的型号CPU的型号
逻辑运算中央处理器内存数据总线控制器
外部存储器、内部存储器、CPU、显示、打操作系统显示指令源地址码程序就是软件
计算机辅助教学、专家系统、人工智能计算机辅助设计计算机辅助设计
选项BALUCPU的速度CPU的主频
算术逻辑运算运算器二级缓存
算术逻辑运算单元
控制器、运算器、cache
输入、输出、运算器、控制器、存储编译系统分析指令操作码
软件开发不受计算机系统的限制工程计算、数据结构、文字处理计算机辅助制造计算机辅助制造
军事应用
科学计算和信息处理科学计算和数据处理
数据处理
现代教育
科学计算和辅助设计数值计算和非数值计算
自动控制
大容量存储装置
符号语言汇编语言PASCAL
将高级语言转换成目标程序有穷性
自动编程
机器语言C语言FORTRAN
将汇编语言转换成目标程序简洁性
写出的算法,必须能解决一类问题,并且能
求解某个问题的算法是唯一的
重复使用
用C程序实现的算法必须要有输入和输出操作用C程序实现的算法可以没有输出但必须可以完成任何复杂的任务用C只能完成部分复杂的任务软件工程只是解决软件项目的管理问题软件工程主要解决软件产品的生产率问题/ //*过程函数必须在最开始必须在系统调用的库函数的后面C语言能编写操作系统C语言是函数式的语言主过程开始执行主函数开始执行可立即执行是一个源程序补码反码6268位字节1024位1024字反复读取只能读取一次11010011011001乘二取整法乘十取整法十二10012012关键字关键词数字字母
结构说明符大写整数类型A P_0 do必须为字母
auto enum includedefault5dm
char整型,实型,逻辑型复数型均为2个字节Long017不小于A+327“c”
160 -0xffff 011+1e+1 5e-9.4 03e2'\\'' '\\\\' '\\n''\\X17'
0.0 0f 8.9e '&'327680xA5\"a\"
'a'<=s<='z'包含1个字符ch=5+9;++x;
short _a=2-1 c=\"g\"
unsignes int uiint a=b=c=5;float a=b=c=1;char a='A'b='B';D
x1=26.8%3;&&、||、!intc=b=a74
2.500000
d=9+e+f=d+9;a=9+b+c=a+9D
y=(y*100+0.5)/100.0int x=y=z=5;A=2+B++=A+2;格式说明符小写
小数类型float la0 _A必须为下划线
switch typedef continueregistera>b
char=int整型,实型,字符型逻辑型由用户根据自己的需要定义signed123等于976
’\\\\,’
- 0xcdf 01a 0xe-.60 12e-4 -8e5'\\' '\\017 ' '\\''''\\80'
\"a\" 3.9E-2.5 1e1 '\\'''0
2.5e-2'\'
(s>='a')&(s<='z')包含2个字符ch='\\0';y=int(5);
long if=0xabcLc=101
short int sint a,b,c=5;int c=(a+b)++;float a=b=10.0;68
1+2=x2;||、&&、!float
(a=c)||(b=c)816
2.750000&&++
d=9+e,f=d=9;a=9+b; c=a+968
x=y*100+0.5,y=x/100.0int x,y,z=5;A=2+B,B++,A+2
++y;1
ch='a+b';0!((x||a)==b)(x>y)&&(y>z)均为自左向右&&、||、!0只能是0或1'A'<=c1<='Z' 'I'&&'J'num%2==1
c语言中无逻辑变量03,0,0
10, 20, 01不定值c=b=a10
n%=(m%=5)4-801,0
x=(y=(z=0));2
ch='\\0';0.5&&!(x%2==0)1和0x>5&&x<101,1,000,0
!(x||y)==b (x>y)AND(y>z)均为自右向左||、&&、!语法错
只能是0或非0正数(c1>='A')&(c1<='Z')I<=J
!(num%2==0)c语言中无逻辑表达式94,0,1
10, 20, 1
02
(a=c)||(b=c)0
n%=(m-m%5)31002,0
a+=a-=(b=4)*(a=3)
算术运算、赋值运算、关系运算* 1,10,6
10,117(a+b)++930
a++++1010,10 7
和(x==0)等价
x=0,y=0,z=01Z4157
x%(-3);
算术运算、关系运算、赋值运算!=4,10,6
11,10
87--841
b++;
%20
12,12
6
和(x!=1)等价
x= -1,y= -1,z= 1
2
A3218
4 76414语法错误100
18,3,344
* = -> ?: -> %-> > ->sizeof一个双精度型表达式64
a=sizeof(float);Main211
一个双精度型表达式1
D
y=(y*100+0.5)/100.0++x;9.800000C,D
x=3.500000,k=132.500000
6,110
~,==,&,|,||0x36
a&=b与a=a&b21416 82616108.0200
3,3,31212
?: -> * = -> > -> % ->sizeof一个整型表达式60
a=sizeof int_0322
一个整型表达式2
68
x=y*100+0.5,y=x/100.0y=int(5);9.30000067,D
x=3.500000,k=13.52.750000
6,0
20.5
==,~,&,|,||0x1b
a|=b与a=a|b140
50.8
a=a|0xFFa=a^0xFF2625000.08a=a|0xEFa=a|0xFF0x263
所有的输入/输出都是通过调用库函数处理的所有的输入/输出都是通过输入/输出语句输入项可以是一个实型常量,如scanf(“%f”只有格式控制,没有输入项也能正确输入getcharscanf,空格整形变量表达式值实型变量值
printf(\"%c\\n\",\"student\");100 3 4101
The program's name is c:tools book.txt100
a ,z ,25325110
10,113,2b,b10 1010,01
x+y+z=48
scanf(\"%d%lx,%le\scanf(\"%f,%f\132<回车>
1234123121<回车>x=10,y=66.6<回车>scanf(\"%d%s\132 6,5,A,B3/15
gerchar函数只能接收一个字符,必须赋值给某个变量整型变量值putchar('\\n')
scanf(\"c1=%cc2=%c\
printf(\"%c\\n\",\"c\");200 4 2150
The program's name is c:\ools book256A,Z,25210001011,1050,2b,c9 902,12
x+y+z=35
scanf(\"%2d * %d%lf\scanf(\"%f%f\a=1b=3c=2<回车>
1234123412341234<回车>10,66.6<回车>
scanf(\"%d%s\1,3,26,5,65,663 15 2014
gerchar函数一次能接收多个字符,必须赋值给某个变量实行变量值putchar(n)getchar()
ifswitchgotodo-whilewhileifbreakfor
循环体中的break语句的功能是退出循环空语句是一个只有分号而无表达式的体,continue语句的功能是终止程序的执行语句y+z;++i;
仅由分号;组成的语句为空语句。空语句不产生任何操作运算。
该变量只在复合语句中有效if(a=b) c++;
该变量在函数中有效if(a=01
a=1,b=170.0000001,3,2,2x=15,y=5X<>0
a=2,b=1
6
0.250000
2,3,2,2
x=10,y=5x
7和5不输出任何内容陷入死循环4
3,3,19无限次13715
while(x==0)
for(表达式1;0;表达式3)1*2*3*„*10
for(a=b;a!=0;a--)printf(\"*\");在switch语句中必须使用break语句
8和6
2,4.00不输出任何结果0
4,4,1
-2
0次
0,0,0,0,0
while(x!=0)
for(表达式1;1;表达式3)1!*2!*3!*„10!
a=b; while(a--!=0)printf(\"*\");a++;break语句只能用于switch语句体中
SWA
在switch语句中必须使用break语句
SW*
break语句只能用于switch语句体中
for(k=100;(k%3)——k〈=200;k++)printf(for(k=100;(k%3)||k〈=200;k++)pri
3 6
当y<0时整个循环结束当y>=0时什么也不输出
{;}a=0,b=0,c=0;for(表达式1;0;表达式3)for(表达式1;1;表达式3)0.0000000.25000076017642901缩排位置相同的if配对其之前最近且不带else的if配对76整型常量整型变量double x[5]={2.0,4,0,6,0,8,0,10.0};int y[5]={0,1,3,5,7,9};对于double类型数组,不可以直接用数组名对数数组名代表的是数组所占存储区的首地址char str[]=\"hello\";char str[100]=\"hello\";int a[]=\"good\";int s[5]={1,2,3,4};&a[1][2]a[1]+223i=x[1][1] i=*(*(x+1))字符型数组中可以存放字符串可以对字符型数组进行整体输入、输出整型常量整型变量int a(10);int n=10,a[n];*&b[5]b+2x[f-c]x[3]a数组长度小于b数组长度数组a和b的长度相同*(--ptr)*(ptr--)p+5c++x&x[0]a[0]=1;a[10]=2;a[10]a[3,5]*(a+3)*(p+3)i*m+jj*m+i
a[0][2*1]a[1][3]*(a+1)*(a[1]+2)int a[2][]={{1,0,1},{5,2,3}};int a[][3]={{1,2,3},{4,5,6}};j*m+ii*m+jfloat b[2][2]={0.1,0.2,0.3,0.4};int a[][2]={{1,2},{3,4}};只有数组元素a[0][0]可得到初值0此说明语句不正确数组y的每一个元素都可以得到初始值0二维数组yde行数为13224253 5 73 6 9-4 0 4 0 4-4 0 4 0 31 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 10,48,12x+m&x[++m]1,22,33,6,9,2,5,8,911不定值3366789LBABLMNPx的数组与y的数组长度相同x数组长度大于y数组长度‘a’‘b’abchar str[5]=\"hello\";char str[]={'h','e','l','l','o','\\0e,k,b,cr,a,a,bp+2a[2]str=\"ABC\";p=\"ABC\";230176put(s1,s2);printf(“%s%s”,s1,s2);s1={\"books\strcpy(s1,s2);char s[5]={\"ABCDE\char s[5]={'A','B','C','D','E'};1315char a[]={'a','b','c','d','\\0'};char s[10]=\"abcd\";char s[8]={'G','o','o','d','!'};char s[8];s=\"Good!\";char *sp; *sp=\"right!\";char s[10]; s=\"right!\";
45
j*m+II*m+j32j*m+ii*m+j2425i*m+jj*m+i
该函数只能被main函数调用
函数的局部变量的有效范围只能在本函数s=s+n;return s;
函数可以有多个形式参数自动
在不同函数中可以使用相同名字的变量函数可以有多个形式参数
函数的局部变量的有效范围只能在本函数该函数能被当前文件的函数调用,但不能
函数的形式参数也是局部变量s=s+i;return s;函数可以没有返回值静态
形式参数是局部变量函数可以没有返回值
函数的形式参数也是局部变量
本程序的main函数开始,到main函数结束本程序文件的第一个函数开始,到本程序函数可以有多个形式参数函数可以没有返回值fun(“abc”,3)t=fun(‘D’,5)double myadd(double a,b) ;double myadd(double,double);函数调用出错81,2,33,1,2fun(“abc”,3)t=fun(‘D’,5)35该函数只能被main函数调用该函数能被当前文件的函数调用,但不能函数可以有多个形式参数函数可以没有返回值定义函数时,形参的类型说明可以放在函数体内return后面的值不能为表达式函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义不可以嵌套,但函数的调用可所有在函数体外定义的变量都是全局变量全局变量可以和局部变量同名称函数返回一个float型的数函数返回一个指向函数的指针同一函数内的static类型局部变量比auto类型的同一函数内的static类型局部变量比autgerchar函数只能接收一个字符,必须赋值给某gerchar函数一次能接收多个字符,必须6460int fun(int a,b)float fun(inta,intb)
double fun1(intx,inty){z=x+y;return z;}funl(intx,y){intz;returnz;}实参和与其对应的形参各占用独立存储单元的实参和与其对应的形参共用一个存储单元float型int型该变量只在复合语句中有效该变量在函数中有效必须在主调函数中说明此数组的大小实参数组类型和形参数组类型可以不匹配12,2不确定5,1,6-5,-11,-68,2,3,4,5,6,7,1,5,6,7,8,1,2,3,4,必须在主调函数中说明此数组的大小实参数组类型和形参数组类型可以不匹配14定义函数时指定的返回类型函数中return语句的表达式类型autoregister地址传递单向值传递称为函数的直接递归调用称为函数的间接递归调用6 8 106 6 6定义函数时指定的返回类型函数中return语句的表达式类型2021整型变量值实行变量值 4 33 32 324251,22,1称为函数的直接递归调用称为函数的循环调用HPw19 &17HPw4,3,7 3,4,7 函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义不可以嵌套,但函数的调用可2010
函数调用出错8
3
*pc[0]代表的是字符串\"aaa\"的首地址6
*pc[0]代表的是字符'a'的首地址
递归函数中的形式参数是自动变量递归函数中的形式参数是外部变量称为函数的直接递归调用称为函数的循环调用autoregister本文件的全部范围本程序的全部范围所有在函数体外定义的变量都是全局变量全局变量可以和局部变量同名称语法错误,不能输出2,2,2,2,
在c语言中,外部函数只能被同一个文件使用内部函数需要用static说明同一函数内的static类型局部变量比auto类型的同一函数内的static类型局部变量比autc语言程序总是从第一个定义的函数开始执行在c语言程序中,要调用的函数必须与mai它是程序开始运行的第一个被调用的函数没有它程序就无法运行该函数只能被main函数调用该函数能被当前文件的函数调用,但不能a++&pint i;int *p;p=&i;int i,*p;p=&a;char *p;scanf(\"%s\char str[10];scanf(\"%s\str=\"ABC\";p=\"ABC\";int i; int *p; p=&i;int i,*p; p=&i;a, p, &*a*&a, &a, *psp1=&c;sp2=sp1;sp1=&c;sp2=&sp1;int p,*q;q=&p;int *p,*q;q=p=NULL;int a,*p,*q;p=q=&a;int a=6,*p,*q=&a;p=q;p1=kp1=p2a,p,&*a*&a,&a,*pGAGGAGAAGAAGAG-10abdddfgafcdebgint p, *q; q=&p; int *p, *q; q=p=NULL;x的值是10,y的值是10,p增1x的值是11,y的值是10,p值不变y的值是10,p值增1y的值是20,p值不变*p1=*p1+*p2*p1+=100-*p2p1+=p2*(&p1)=&C;6,4.76,4.611,1110,11*pc[0]代表的是字符串\"aaa\"的首地址*pc[0]代表的是字符'a'的首地址数组元素x[5]的地址数组元素x[5]的值*(--ptr)*(ptr--)-10*(--ptr)*(ptr--)p+5c++p是一个指针数组名p是一个指针,它可以指向一个一维数组p[2]p[0]+1x&x[0](p+1)[0]*(*(p+2)+1)PROgramPROGRAMbcstr=\"ABC\";p=\"ABC\";char *s=\"string\"; 等价于char *s; *s=\"strchar str[10]={\"string\ProgramPormabc123456bc123456char *s=\"string\";等价于char *s;*s=\"stringchar str[10]={\"string\字符'z'的地址0ProgramPormchar a[6]=\"test\";char a[6],*p=a;p=\"test\";8,2,3,4,5,6,7,1,5,6,7,8,1,2,3,4,ab
134612451,2,2,4,3,6 1,2,3,4,1,2,2,4,3,6, 3,4,5CHINAAAAAAGAGGAGAAGAAGAGptr是指向一维数组的指针变量ptr是指向int类型数据的指针变量(*p)max(a,b);*p max(a,b);代表函数的返回值指向函数的入口地址26 p+1 *(p+3)a[0][1] a[1][0] str=\"ABC\";p=\"ABC\";*p+9*(p+8)char *sp; *sp=\"right!\";char s[10]; s=\"right!\";5623*(a+3)*(p+3)66789*a[2]p+=2,*(p+1)int int*用户可以通过类型定义产生一种新的数据类型。类型定义格式要求中的标识符必须是大写对于一个具体的结构体,它的成员可以根据自己的结构体与数组一样,其每个成员的数据类定义结构体时,它的每个成员的数据类型可以不定义结构体时,它的每个成员的数据类型12 结构中一个成员所需的内存容量 结构中第一个成员所需的内存容量 typedef struct {int red; int green; intstruct color cl{ int red; int gretypedef struct aa{ int n; float m; }AA;struct aa { int n; float m; }s以上的说明形式非法NODE是一个结构体类型所有成员一直驻留在内存中只有一个成员主留在内存中
可用S定义结构体变量可以用T定义结构体变量
结构体变量可以作为一个整体进行其值的输入和输结构体成员项不可以是结构体。编译时出错。程序将顺利编译、连接、执行。只有外部存储类型的结构体变量可以进行初始化。只有静态存储类型的结构体变量可以进行结构体类型变量不能初始化。结构体类型变量为外部变量或静态变量时所有成员一直驻留在内存中。只有一个成员驻留在内存中。
程序将顺利编译`连接`执行编译出错
struct 是结构体类型的关键字。struct stu是用户定义的结构体类型。sampl.c= \"abcd\"; strcpy(sampl.c,\"abcd\");
01
56
共用体定义时,系统按照各成员项所需空间的大小结构体定义时并不分配存储空间,只有在
39249各成员所需内存量的总和 可以对共用体变量直接赋值用typedef不能定义变量名a=5;
9
1
10
4
结构中第一个成员所需内存量
一个共用体变量中可以同时存放其所有成用typedef可以定义新的数据类型a={2,'a',1.2}
45
用typedef不能定义变量名用typedef可以定义新的数据类型3216enum ee{A,B,C,D,};enum ee{'A','B','C','D'};enum a={one,two,three};enum a{on=9,two=-1,three};
enum day{first,second,third,fourth=4};enum day{first,second=2,third,fourt67411p是int型变量p是基类型为int的指针变量用typedef不能定义变量名用typedef可以定义新的数据类型18303216truct 是结构体类型的关键字STUTYPE是用户定义的结构体类型名typedef int INTEGER; INTEGER j, k; typedef int char; char j, k; typedef struct abc {double a; char b[10];struct {double a; char b[10]; } s; 2881001a1.next=p1(*p2).next=p11 3 13 1 1s-next=p->next;p->next=s;p->next=s->next;s->next=p; 预处理语句中条件编译是在编译前执行的预处理语句的文件包含只能包含后缀为.在对源程序中其它成分正式编译之前进行的和C程序中的其它语句同时进行的#main#include
在对源程序中其它成分正式编译之前进行的和C程序中的其它语句同时进行的宏名不具有类型宏名必须用大写字母表示01050055编译出错运行出错此宏定义的作用范围是从第一次定义位置开始到宏定义与变量定义不同,宏定义只作字符宏替换不占用运行时间宏名无类型30012080
选项CMPU内存的容量内存的容量
算术运算控制器硬盘多路开关运算器和主存
输入、输出、控制、存储、外设连接程序打印指令目标地址码
选项DGPU
运算器的速度CPU的生厂商
算术逻辑运算及全机的控制主机U盘
累加寄存器
控制器、ALU和主存都不是文本处理修改指令数据码
答案AABDABBBBDBBDCCBBABCABADCB
软件既是逻辑实体,又是物理实体是程序、数据与相关文档的集合实时控制、科学计算、数据处理计算机辅助教学计算机辅助教学
数值处理、人工智能、操作系统计算机辅助模拟计算机辅助模拟
网络服务
科学计算和过程控制军事工程和日常生活
人工智能
以上都不是
数据处理和辅助设计现代教育和其他领域
计算机辅助系统
逻辑判断能力通用性强
汇编语言机器语言和汇编语言Java语言结构化查询语言BASICC++解释执行高级语言程序解释执行汇编语言程序可行性确定性算法过程要一步一步执行,每一步
算法要求按部就班的做,每一步
执行的操作,必须确切,不能混淆C
可以有不同的结果
不清,而且经过有限步后能得出结用C程序实现的算法可以没有输入但必用C程序实现的算法可以既没有输入也C用C只能完成符合结构化的任务用C只能完成一些简单的任务A软件工程的主要思想是强调在软件开发软件工程只是解决软件开发中的技术C /* */* *C语句命令B可以任意必须在最后C数据类型多样化书写格式自由、不规范D子程序开始执行主程序开始执行B经过编译即可执行经过编译解释才能执行B原码ASCII码D6970B双字节字A1024字节1000字节C可以读取1000次可以读取10000次A11001011001011D除二取余法除十取余法C八十六B128256C34B索引字索引词A汉字空格B
变量说明符类型说明符C大写或小写大写且小写B分数类型无理数类型Ab-a goto int_123 temp INTC必须为字母或下划线可以是字母、数字和下划线中任意一Csigned union scanfif struct typeBenumexternalDHh$sCchar='a')&&(s<='z')包含3个字符ch='7'+'9';x*=y+1;double 1_d=1.5e2c='\\147'double int a;int a=5;b=5;c=5;a%=3.1;int a=10,*b=&a;不确定的值x3=0x12;&&、!、||double(a=c)&&(b=c)6323.500000+!=d=9+e,e++=d+9;a=(9+b,b++)一个不确定的值y=y*100+0.5/100.0x=5,y=5,z=5;A=2+B,C=A+2;-e3 .8e-4 5.e-0-256-+255整型,实型,逻辑型,字符型集合型是任意的integer0x25小于等于结果错误13’’-0x48a 2e5 0x-e3 .8e-4 5.e-0'\\\\0' '\\101' 'x1f'\"\\n\"+001 0xabcd 2e2 50.0xAF0582297('a'<=s)and('z'>=s)说明不合法,c的值不确定ch='a+b';x=y=0;float a=1.5e2.7c='0147'int I,j,k;int a=5,b=5,c=5;a=-2==4;float *a,b=&a;Cx4=1+2=3;!、&&、||不确定a=c=b2520.000000!=%d=9+e++=d+7;a=9+b++=a+7Cy=(y/100+0.5)*100.0x=y=z=5;A=2+B+C=A+2BBBCCBDABBCABADDADBCADBACCDDCACDCCBCABDBCABACm=n==k;2.0
ch='7'+'9';1+x%20和1
x==6||x==7||x==8||x==91,0,021,0
!(x||(a==b)) x>y>z
&&、||自左向右,!自右向左&&、!、||1
只能是整型或字符型数据(c1>='A')&&(c1<='Z')I||J+K——J-K!(num%2)
t=u+v=3;2.5
ch=5+9;2!=!(x%2)非零值和0!(x<=5)&&(x<10)0,1,140,1
(!x)||(a==b) (x>y)&(y>z)
&&、||自右向左,!自左向右!、&&、||“假”
可以是任何类型的数据('A'<=c1)AND('Z'>=c1)!((IDCAACDBAAABDACDCDCDC逻辑表达式是由逻辑运算符和关系运算c语言中只有增1,减1运算符组成A43,0,1
50,4,0
BD
10,20,010, 20, 1A
-11
(a=c)&&(b=c)12
n%=m-m%52-180-2,8
20
a=c=b6
(n%=m)-(m%=5)11801,8
ACCBDDAA
a=a*3=2
关系运算、赋值运算、算术运算+4,6,10
11,119-(I++)7112
c++;/4011,,135
和(x!=0)等价
x=0,y=1,z=03a2136
y+1=j
关系运算、算术运算、赋值运算=6,4,6
10,1010(-k)++612-1
d++;+3011,124
和(x==1)等价
x= -1,y= 2, z= 14z1102
ABDB
D
BCAAB
D
AB
D
CC
B
A
CDAB
32 95232306.0100,200
3,1,31010
* = -> > -> ?: -> sizeof ->%一个函数调用124
printf(\"%f\_int644
一个函数调用4
不确定的值
y=y*100+0.5/100.0x*=y+1;8.500000无确定值x=3,k=133.500000
2,12.01
~,&,|,==,||0x6c
a!=b与a=a!b8752C 2B12D52C18D0.0C编译出错
B
3,18,3A8B8A* = -> ?: -> > -> % -〉sizeofD一个不合法的表达式B30Aprintf(\"%d\BsizeofD出错C6D6C一个不合法的表达式B6BC
Ay=(y/100+0.5)*100.0Bx=y=0;B8.000000BB,C
Bx=3.5,k=13A0.000000
A
2,0C
2.5C2
A
&,~,|,==,||A0x20
Ba^b与a=a^bC15B1C
104
a=a&0xFFa=a&0xFF0262202
a=a||0xEFa=~a0263DDDAC
getchar和putchar可以省略#include<在输入/输出格式中的*表示跳过数据A当输入实型数据时,格式控制部分可以当输入数据时,必须指明变量地址,DputcharprintfD回车[Tab]A字符串字符或字符变量的值D
printf(\"%s\\n\",&a);printf(\"%s\\n\",\"hello\");D100,200编译出错B 4 3 3 3D205C-1无确定值BThe program's name is c:\\\ools bThe program's name is c:\oolookDffe00ffAa,z,\\97,122,25A10C2065C-12B-12A200:10B11,1110,10B2,22,50Ca,ba,cA9 1010 9D102,1002,10Cx+z=35
scanf(\"%x%*d%o\scanf(\"%3.2f,%2.1f\1<回车>3<回车>2<回车>
1234+1234+1234+1234<回车>10<回车>66.6<回车>scanf(\"%d%s\a=1,b=3,c=2 6,5,6,53/15/2014
gerchar函数只能接收一个字符,可以不赋值给任何变量字符串
putchar('*')putchar(c2)
不能确定
scanf(\"%x%o%6.2f\scanf(\"%3.2f%2.1f\a=1<回车>b=3<回车>c=2<回车>1234+123+12+1<回车>x=10<回车>y=66.6<回车>scanf(\"%d%s\a=1 b=3 c=2编译出错6,5,6,615/2014
gerchar函数一次能接收多个字符,可以不赋值给任何变量字符或字符型变量值putchar(a*n)putchar(c1,c2)
DCBBDABCABCDDDNYY
forbreakgotowhileswitchwhilegotocontinue
表达式语句是由表达式后面加分号while循环与for循环可以相互嵌组成的。套a=9;a=b*2;
空语句常用于无条件转移结构。
在任何情况下,循环体都不可以
为空语句。
该变量在本程序范围内均有效该变量为非法变量if(a<>b) c++;
if(a=>b) c++;
23NYY循环Y
多分支YNYDDCABYYAAYNDYY
AA
A
a=1,b=050.5000001,3,1,3x=14,y=4!x
a=2,b=241.0000001,3x=15,y=4x=1
B
C
C
A
CB
8和57和6
BYCDC
3,16.00995
陷入死循环1000,0
4,3,24,3,1D
-18D
1次2次B
0135715以上答案都不正确A
while(x!=1)while(--x)Afor(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)B1+2+3+„+10
1!+2!+3!+„10!
D
a=b; do{a--;printf(\"*\");}while(a!for(a=b;a:--a)printf(\"*\");break语句只能用于循环语句中
C
在switch语句中可以使用break语句D
SW*A
break语句只能用于循环语句中
SWB
在switch语句中可以使用break语句D
for(k=100;k〈=200;k++)if(k%3!=for(k=100;k〈=200;k++){if(k%3)C
45C
printf 函数永远也不执行
D
YYN
if(a>0);if(b==0) m=1;n=2;Dfor(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)0.5000001.000000C54C23A54C303A23A其之前最近的if配对第一个if配对B54C整型表达式以上均可Dchar c1[]={'1','2','3','4','5'};char c2[]={'\\x10','\\xa','\\x8'};B当程序执行中,数组元素的下标超出所可以通过赋初值的方式确定数组元素Cchar str[]={'h','e','l','l','o'};char str[]={'hello'};Dchar s=\"good\";char s[]={0,1,2,3,4};B*a[1]+2*(a+1)+2C4无确定值Bi=*(*(x+1)+1) i=*(x[1]+1)B可以对整型数组进行整体输入、输出不能在赋值语句中通过赋值运算对字C整型表达式以上均可Dint n; scanf(\"%d\#define SIZE 10 int a[SIZE];D*(*(b+2))*(b+2)Dx['c'-'d']x['c'-c]Da数组长度大于b数组长度上述说法都不对C*(ptr++)*(++ptr)A&c+1&c[0]D&xpCa[0]=5*2;a[1]=a[2]*a[0];Ba(5)a[10-10]D*p+3p[3]Ci*m+j-1i*m+j+1D
最多允许输出100个非负整数
a[4-2][0]a[0][4]D*a[1]+3a[0][0]Aint a[2][4]={{1,2,3},{4,5},{6}};int a[][3]={{1,0,1},{},{1,1}};Bi*m+j-1i*m+j+1Bint a[2][]= {{1,2},{3,4}};float a[2][2]={0};C数组a中各元素都可得到初值,但其值数组a中每个元素均可得到初值0D该说明等价于int y[][4]={0};只有元素y[0][0]和y[0][1]可以得到D无确定值1A1817B1 5 91 4 7A-4 0 4 4 3-4 0 4 4 0C 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 10 1 0 1 0 0 0 1 0 0 0 1C10,66,10C&x[m+1]x+(m++)D3,41,4B6,9,12,4,7,10,D1921A3010A'6'789BABLBLMNPDx数组长度小于y数组的长度x的数组等价于y数组Bab cabcBchar str[5]={\"hi\char str[100]=\"\";Ar,a,b,c有语法错误,无正确输出Ap[2]p+=2,*pA*str=\"ABC\";*p=\"ABC\";B45D23B1213Bputchar(s1,s2);puts(s1);put(s2);Bs1=s2;strcpy(s2,s1);Bchar *s;*s=\"ABCDE\";char *s=\"ABCDE\";D17说明语句不合法Achar *sp;sp=\"abcd\";char s[10];s=\"abcd\";Dchar s[8];strcpy(s,\"Good!\");char s[8]=\"Good!\";Bchar s[10]; *s=\"right!\";char *sp=\"right!\";D
67C
I*m+j-1I*m+j+1B无确定值1Ai*m+j-1i*m+j+1B2817Bi*m+j-1i*m+j+1D
20102040
该函数不能被当前文件的函数调用,可任何文件的函数都可以调用该函数B局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局Dreturn s;return s+=I;B函数内可以嵌套定义函数函数可以被其他函数调用C外部寄存器A在函数内定义的变量只在本函数范围内在函数内的符合语句中定义的变量在D函数内可以嵌套定义函数函数可以被其他函数调用C局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局D
本程序的main函数开始,到本程序文件本程序文件的第一个函数开始,到本A函数内可以嵌套定义函数函数可以被其他函数调用Cfun(‘ab’,3)fun(‘78’,1)Bdouble myadd(double b,double a) ;double myadd(double x,double y)A97B1,33,12,3,1Afun (‘ab’,3)fun(‘A’,1)D69B该函数不能被当前文件的函数调用,可任何文件的函数都可以调用该函数B函数内可以嵌套定义函数函数可以被其他函数调用C如果函数值的类型与返回值不一致,以如果形参与实参的类型不一致,以实C函数的定义和函数的调用均不可以嵌套函数的定义和函数的调用均可以嵌套B全局变量第一次被引用时,系统为其分全局变量直到程序结束时才被释放C
函数返回一个float型变量的指针函数的名称为*functionC任何存储类的变量在未赋初值时,其值static类型全局变量,可以被其他文Agerchar函数只能接收一个字符,可以gerchar函数一次能接收多个字符,可C12430Adouble fun()int fun(char a[][])Cfunl(x,y){intx,y;double z;z=x+y;rdouble funl(int x,int y){double D只有当实参和与其对应的形参同名时才形参是虚拟的,不占用存储单元Along型double型B该变量在本程序范围内均有效该变量为非法变量A在被调函数中,不需要考虑形参数组的实参数组名与形参数组名必须一致A5,251,12C-5,11,65,-1,-6D1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1,A在被调函数中,不需要考虑形参数组的实参数组名与形参数组名必须一致A610B主调函数的实际参数类型主调函数的返回值类型AstaticexternC由实参传给形参,再由形参传回给实参由用户指定传递方式B称为函数的循环调用C语言中不允许这样的递归调用B7 8 97 9 11A主调函数的实际参数类型主调函数的返回值类型A变量a的地址随机值B字符串字符或字符型变量值D 2 1A3 44 3C2627C2,33,2A称为函数的间接递归调用C语言中不允许这样的递归调用C19 &171917D5,2,7 2,5,7A函数的定义和函数的调用均不可以嵌套函数的定义和函数的调用均可以嵌套B语法错误50D
97D
812 pc[0]代表的是字符串\"aaa\"的首地址pc[0]代表的是字符'a'的首地址D
C
递归函数中形式参数是静态变量递归函数中的形式参数可以根据需要A称为函数的间接递归调用C语言中不允许这样的递归调用CstaticexternC本函数的全部范围从定义该变量的位置开始到本文件结B全局变量第一次被引用时,系统为其分全局变量直到程序结束时才被释放C2,2,3,3,2,2,3,2,D外部函数隐含类别是自动存储类别在c语言中,内部函数可以由其它文件B任何存储类的变量在未赋初值时,其值static类型全局变量,可以被其他文件Ac语言程序总是从main()函数开始执行c语言程序中的main()函数必须在程序C它是唯一不可缺少的函数有没有它都行D 该函数不能被当前文件的函数调用,可任何文件的函数都可以调用该函数Bp++p[I]Cint i,*p=&a;int i,*p;*p=i;Dchar str[10], *p;p=str; scanf(\"%schar str[10], *p=str;scanf(\"%s\C*str=\"ABC\";*p=\"ABC\";Bint i,*p=&i;int i,*p; *p=i;D&a, p, &*p*&p, *p, &aCsp1=&c;sp2=*sp1sp1=&c;*sp2=*sp1;Aint a=5,*p;*p=a;int a=5,*p,*q=&a;*p=*q;Cint a=b=6,*p;p=&a;b=*p;int a,*p,*q;q=&a;p=*q;D*p1=*p2k=*p1+*p2A&a,p,&*p*&p,*p,&aCGFEDCBAAGADAGAB12CgbedcfagfedcbaAint a=5, *p; *p=a;int a=5, *p=&a, *q=&a; *p=*q;Cx的值是10,y的值是11,p增1x的值是11,y的值是11,p值不变Ay的值是10,p值不变y的值是20,p值增1Dp2=p1/2*p2=*p1-'A'C*(&c)='A'p1++A5,4.6以上三个答案都不对D10,10有错误,无确定值Dpc[0]代表的是字符串\"aaa\"的首地址pc[0]代表的是字符'a'的首地址C数组元素x[6]的地址数组元素x[6]的值B*(ptr++)*(++ptr)A12B*(ptr++)*(++ptr)A&c+1&c[0]Dp是一个指针,它可以指向一个含有3个(*p)[3]等价于*p[3]C*(p+2)(p+1)+2B&xpC*(p[1]+1)p[1]+2CPRO proGRAMCfgC*str=\"ABC\";*p=\"ABC\";Bchar *s=\"string\"; 等价于char *s; char str[10]={\"string\CPor有语法错Ba123456c123456Cchar *s=\"string\";等价于char *s;s=char str[10]={\"string\C字符'z'的ASCII码字符'z'B有语法错误PorBchar *a;a=\"test\";char a[6],*p;p=a=\"test\";D1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1,DcdA
2356123456A1,2,2,4,3,6 2,3,21,2,1,2,1,2, 3,4BANIHCACGFEDCBAAGADAGABptr是指向函数的指针,函数返回一个ptr是一个函数名,该函数的返回值是Cp->max(a,b);(*p)(a,b);D表示函数的类型表示函数返回值的类型B810D*(p+1)+3*(p[0]+2)Da[1][2]a[1][1]C*str=\"ABC\";*p=\"ABC\";B*p+=9p+8Bchar s[10]; *s=\"right!\";char *sp=\"right!\";D89D45D*p+3p[3]C'6'789Ba[3][3]p[1][1]B(*int)(int *)D类型定义格式要求中的类型名必须是在以上描述均不正确C结构体的每个成员的数据类型必须是基以上描述均不正确。D结构体定义时,其成员的数据类型不能结构体定义时各成员项之间可用分号A811D
D结构体中占内存容量最大者所需的容量 结构中各成员所需内存容量之和
struct color { int red; int grestruct { int red; int green; Bstruct { int n; float m; }aa;struct { int n; float m; }td;COLD是一个结构体类型OLD是一个结构体变量C部分成员驻留在内存中没有成员驻留在内存中A
S是struct类型的变量T是struct S类型的变量B
结构体成员项可以是结构体或其他任何C语言的数据类型。结构体变量和结构体是相同的概念。C能顺利通过编译、连接,但不能执行。能顺利通过编译,但连接出错。A外部存储类型和静态存储类型的结构体以上描述均不正确。C结构体数组不能初始化。可以用赋值语句将一组常量赋给一个结B部分成员驻留在内存中。没有成员驻留在内存中。A能顺利通过编译`连接`但不能执行能顺利通过编译`但连接出错A
a和b都是结构体成员名。stutype是用户定义的结构体类型名。C
sampl->c=\"abcd\";以上均不正确B
36D
78B
共用体定义时,系统按照占用空间最大以上说法均不正确。B
388B
118D
128C
18D
成员中占内存量最大的容量 结构中最后一个成员所需内存量C一个共用体变量中不能同时存放其所有共用体类型定义中不能出现结构体类型D用typedef只是将已存在的类型用一个新的标识符来代表使用typedef有利于程序的通用和移植Bprintf(\"%d\
n=a;
C
60D
用typedef只是将已存在的类型用一个使用typedef有利于程序的通用和移植B8报错Cenum ee={A,B,C,D};enum ee={'A','B','C','D'};Aenum a={\"one\enum a{\"one\Benum day{first,second=2,third=3,fenum day{first=1,second,third,foD80C03Bq是基类型为int的指针变量程序中可用INTEGER代替int类型名B用typedef只是将已存在的类型用一个使用typedef有利于程序的通用和移植B258B8报错CSTUTYPE是用户定义的结构体变量名a和b都是结构体成员名Dtypedef a[3] ARRAY; ARRAY b; 以上描述均不正确 Bstruct ABC {double a; char b[10];typedef ABC {double a;har b[10];B1424D1622C213Dp1->next=&a1p1.next=p2D1 3 22 1 3Aq->next=s;s->next=p; p->next=s;s->next=q;Cc语言的宏定义有带参数和不带参数的宏名没有类型,它的参数也没有类型B在程序连接时进行的在程序运行时进行的A#if #endif#defineA在程序连接时进行的在程序运行时进行的A宏替换只是字符替换宏替换不占用运行时间B525B4025C运行结果为y=5运行结果为y=0C宏定义与变量定义相同使用宏定义可以减少程序中重复书写C宏替换只是字符替换宏名必须用大写字母表示D16C128D