c语言e怎么表示_如何一个月学完c语言

大一的时候,一点都不自律,什么科目都是去那点名后,然后坐在最角落初自个玩手机,特别是程序课,我一个都不懂,有听一两节课还是听不懂,反正就是不懂就对了。课后也没复习。到了期中考,考了才知道我确实废了。不如意以为认真就行,离期末考还有1个月,我当时心态炸了,天啊!期末考咋整,学分怎么办。
我调整了心态好好学,在b站看看关于c语言入门教学视频,其中有个感觉还不错的up主:小甲鱼,内容不全面,只能大概了解下内容。然后针对性的复习,整理笔记。我觉得最重要的是循环程序,过程基础重要,还有那个标识符。编程题真的不能自学出来的,特别复杂,在此建议你们有机会好好学吧,或者多参考些参考书说不定就欧克了。
给你们整理了一些较为重要的知识点:
1.标识符:只能以字母、下划线开头。
2.循环:看if if.......else while do.........while for 等循环语句,注意看他们循环的图形原理。
3.位运算:<< >> ^ ~这些符号的意思
4.指针:说白了就是取地址,就是要你找到地址的。
5.数组:就是让你知道第一维表示行,第二维表示竖。他特喜欢和指针和循环体结合在一起。
6.共同体:具体看书吧,我到现在也不了解。
7.文件:就是了解foropen forclose 等等的结构运行原理。
我其他的也忘了差不多,我在期末考时为了能过,硬是写了37页的选择题,其中也有这个作用吧。这个文件我可以分享给你们,你们也可以去试着做,每个选择题的答案在每个题目前面
C 0101、C语言源程序中,以下叙述正确的是()
A.main函数必须位于文件的开头
B.每行只能写一条语句
C.程序中的一个语句可以写成多行
D.每个语句的最后必须有点号
C 0102、关于C语言的源程序的叙述中,错误的是( )。
A.C语言的源程序由函数构成
B.main函数可以书写在自定义函数之后
C.必须包含有输入语句
D.一行可以书写多个语句
C 0103、关于C语言数据类型的叙述,正确的是()
A.枚举类型不是基本类型
B.数组不是构造类型
C.变量必须先定义后使用
D.不允许使用空类型
C 0104、C程序中main函数的位置( )
A.必须在最开始
B.必须在系统库函数后面
C.可以在自定义函数后面
D.必须在最后
B 0105、C语言的函数体由( )括起来
A.( ) B. { } C. [ ] D)/* */
D 0106、关于C语言的叙述中,不正确的是( )。
A.C程序可由一个或多个函数组成
B.C程序必须包含一个main()函数
C.C程序的基本组成单位是函数
D.注释说明只能位于一条语句的后面
D 0107、以下叙述不正确的是()。
A.C程序的执行总是从main函数开始
B.一个C源程序必须包含一个main函数
C.C语言程序的基本组成单位是函数
D.在编译C程序源程序时,可发现注释中的拼写错误
C 0108、结构化程序设计的三种基本结构是()。
A.函数结构、分支结构、判断结构
B.函数结构、嵌套结构、平行结构
C.顺序结构、分支结构、循环结构
D.分支结构、循环结构、嵌套结构
C 0109、对于C语言源程序,以下叙述错误的是( )。
A.可以有空语句
B.函数之间是平等的,在一个函数内部不能定义其它函数
C.程序调试时如果没有提示错误,就能得到正确结果
D.注释可以出现在语句的前面
C 0110、C语言中,复合语句的构成是将一系列语句置于()。
A.begin与end之间
B.一对圆括号 “( )”之间
C.一对圆括号 “{ }”之间
D.一对圆括号 “[ ]”之间
D 0201、下面关于C语言用户标识符的描述,正确的是()
A.不区分大小写
B.用户标识符不能描述常量
C.类型名也是用户标识符
D.用户标识符可以作为变量名
D 0202、以下( )是正确的变量名。
A.5f
B.if
C.f.5
D._f5
D 0203、以下( )是正确的常量。
A.E–5
B.1E5.1
C.'a12'
D.32766L
D 0204、以下( )是正确的变量名。
A.a.bee
B.–p11
http://C.int
D.p_11
C 0205、以下( )是正确的字符常量。
A."c"
B.'''
C.'W'
D."32a"
A 0206、以下( )是不正确的字符串常量。
A.'abc'
B."12'12"
C."0"
D." "
B 0207、下列错误的整型常量是()。
A.–0xcdf
B.018
C.0xe
D.011
B 0208、以下是正确的浮点数是()。
A.e3
B..62
C.2e4.5
D.123
A 0209、若有说明语句:char c=’95’;则变量c包含()个字符。
A.1
B.2
C.3
D.语法错误
D 0210、以下( )是正确变量名。
A.a.bee B.-p11 http://C.int D.p_11
A 0301、若有定义:int x=2;则正确的赋值表达式是()
A.a–=(a*3)
B.double(–A.
C.a*3
D.a*4=3
C 0302、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()。
A.3,3,4
B.4,4,3
C.4,4,4
D.3,4,3
B 0303、语句a=(3/4)+3%2;运行后,a的值为( )。
A.0
B.1
C.2
D.3
A 0304、char型变量存放的是( )。
A.ASCII代码值
B.字符本身
C.十进制代码值
D.十六进制代码值
C 0305、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。
A.3,3
B.4,4
C.4,3
D.3,4
B 0306、若有定义:int a;则语句a=(3*4)+2%3;运行后,a的值为()。
A.12
B.14
C.11
D.17
A 0307、若有定义:int a,b;double x;,则以下不符合C语言语法的表达式是()。
A.x%(–3)
B.a+=–2
C.a=b=2
D.x=a+b
B 0308、若有定义:int x=2,y=3; float i; 则以下符合C语言语法的表达式是()。
A.x=x*3=2
B.x=(y==1)
C.i=float(x)
D.i%(–3)
C 0309、设double型变量a,b,c均有值;对代数式(3ae)/(bc)不正确的C语言表达式是( )。
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/b*3
C 0310、以下四项中,符合C语言语法的语句是()。
http://A.int a+b=c;
http://B.int a=12:b=12:c=12;
http://C.int a=12,b=12,c=12;
http://D.int a,b=12, float c=21;
B 0401、下面叙述正确的是( )。
A.2/3 与 2.0/3.0 等价
B.(int)2.0/3 与 2/3 等价
C.++5 与 6 等价
D.'A'与"A"等价
A 0402、下面关于算术运算符的叙述,错误的是( )。
A.其算术运算对象不包含函数
B.%(模运算符)的运算对象只能为整型量
C.算术运算符的结合方向是"自左至右"
D.自加和自减运算符的结合方向是"自右至左"
A 0403、下面叙述正确的是( )。
A.强制类型转换运算的优先级高于算术运算
B.若a和b是整型变量,(a+b)++是合法的
C.'A'*'B' 是不合法的
D."A"+"B"是合法的
B 0404、若有定义:int k,i=2,j=4;则表达式k=(++i)*(j--) 的值是( ).
A.8
B.12
C.6
D.9
C 0405、设整型变量a为5,使b不为2的表达式是( )。
A.b=(++a)/3
B.b=6–(––a)
C.b=a%2
D.b=a/2
C 0406、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为( )。
A.1 B.0 C.2 D.3
B 0407、int i,j;则表达式(i=2,j=5,i++,i+j++)的值是()
A.7 B.8 C. 9 D.10
B 0408、int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是().
A.7 B.8 C.9 D.10
B 0409、若有定义:int m=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值是()。
A.6 B.7 C.8 D.9
C 0410、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为()。
A.4 B.5 C.6 D.7
B 0501、已知int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是( )。
A.scanf("%d",a);
B.scanf("%d",&a);
C.scanf("%f",&a);
D.scanf("%lf",&a);
D 0502、已知double a ; 使用scanf()函数输入一个整数给变量a,正确的函数调用是( )。
A.scanf("%ld",&a);
B.scanf("%d",&a);
C.scanf("%7.2f",&a);
D.scanf("%lf",&a);
B 0503、已知char a;使用scanf()函数输入一个字符给变量a ,不正确的函数调用是( )
A.scanf("%d",&a);
B.scanf("%lf",&a);
C.scanf("%c",&a);
D.scanf("%u",&a);
B 0504、putchar()函数的功能是向终端输出( )。
A.多个字符
B.一个字符
C.一个实型变量值
D.一个整型变量表达式
D 0505、getchar()函数的功能是从终端输入( )。
A.一个整型变量值
B.一个实型变量值
C.多个字符
D.一个字符
0506 D 若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为()。
A.123412312
B.12341234123412341231231231212
C.1234+1234+1234
D.1234+123+12
0507 A 已有如下定义和输入语句,
int a;char c1,c2;
scanf("%d%c%c",&a,&c1,&c2);
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()。
A.10AB
B.10 A B
C.10A B
D.10 AB
0508 B 已知如下定义和输入语句:int a,b;
scanf((“%d,%d”,&a,&b);若要求a和b的值分别为10和20,则正确的数据输入是()。
A.10 20
B.10,20
C.a=10,b=20
D.10;20
0509 D 下列程序运行结果为()。
void main()
{ int a=65; char c=’A’;
printf(“%x,%d”,a,c);
}
A.65,a
B.41,a
C.65,65
D.41,65
0510 B 若已定义:int a=5;float b=63.72; 以下语句中能输出正确值的是( )。
A.printf(“%d %d”,a,b);
B.printf(“%d %.2f”,a,b);
C.printf(“%.2f %.2f”,a,b);
D.printf(“%.2f %d”,a,b);
A 0601、下面叙述中,( )不是结构化程序设计中的三种基本结构之一。
A.数据结构
B.选择结构
C.循环结构
D.顺序结构
A 0602、下面叙述中,( )不是结构化程序设计三种基本结构的共同特点。
A.先判断后执行
B.单入口,单出口
C.程序中没有执行不到的语句
D.无死循环
A 0603、结构化程序设计不包括( )。
A.最优化
B.自顶而下,逐步细化
C.模块化设计
D.结构化编码
D 0604、以下运算符中优先级最高的是()。
A.>
B.||
C.&&
D.+
A 0605、若有定义:int x=3,y=4;则表达式!x||y的值为()。
- 1
- O
- 3
- 4
A 0606、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()。
- 1
- 变量i的值
- 0
- 变量j的值
C 0607、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”,则不能满足要求的表达式是()。
- a%2==1
- !(a%2==0)
- !(a%2)
- a%2
D 0608、若有定义:int x=3,y=4,z=5;则值为0的表达式是()。
- 'x'&&'y'
- x<=y
- x||y+z&&y–z
- !((x<y)&&!z||1)
A 0609、若有定义: int a=5,b=2,c=1;则表达式a-b<c||b==c的值是()。
- 0
- 1
- 2
- –1
C 0610、在下列运算符中,优先级最高的是()。
- <=
- !=
- !
- ||
A 0701、已知 double a=5.2; 则正确的赋值表达式是( )。
- a+=a–=(a=4)*(a=3)
- a=a*3=2
- a%3
- a=double(–3)
A 0702、已知char a=’R’; 则正确的赋值表达式是()
- a=(a++)%4
- a+2=3
- a+=256––
- a='078'
A 0703、已知int a=’R’; 则正确的表达式是( )
- a%10
- a=int(3e2)
- 2*a=a++
- a=a+a=a+3
A 0704、设单精度型变量f、g的值均为2.0,使f为4.0的表达式是()。
- f+=g
- f–=g+2
- f*=g–6
- f/=g*10
B 0705、若有定义:float x=3.5;int z=8;则表达式x+z%3/4的值为()。
- 3.75
- 3.5
- 3
- 4
A 0706、若有定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式(x=a>b)&&(y=c>d)的值为( )。
- 0
- 1
- 5
- 6
A 0707、若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是()。
- 3.5
- 3.0
- 2.5
- 2.0
C 0708、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是()。
- 2.5
- 3.5
- 4.5
- 5.5
C 0709、若定义:int a=6,b=2;char c1=’a’,c2=’b’;则表达式a+b%5+c2-c1的值是()。
- 7
- 8
- 9
- 表达式错误
B 0710、若已定义: int a=10;float b=2.5; 语句printf("%f",a+b*10/3);的输出结果为( )。
A.18 B.18.333333 C.41 D.41.666667
B 0801、以下的语句中,无内嵌的if语句是( )。
- if(x==y) x+=y;
- if(x>y && x!=y );
- x+=y;
- if(x!=y)
- scanf("%d",&x);
- else
- scanf("%d",&y);
- if(x<y)
- { x++;y++; }
B 0802、C语言对if嵌套语句的规定:else总是与( )配对。
- 第一个if
- 之前最近的且尚未配对的if
- 缩进位置相同的if
- 之前最近的if
B 0803、对于整型变量x,下述if语句( )与赋值语句:x=x%2= =0?1:0; 不等价。
- if (x%2!=0) x=0; else x=1;
- if (x%2) x=1; else x=0;
- if (x%2==0) x=1; else x=0;
- if (x%2==1) x=0; else x=1;
B 0804、若有定义:int x=1,y=2,z=4;则以下程序段运行后z的值为()。
if(x>y)z=x+y;
else z=x-y;
- 3
- –1
- 4
- 不确定
D 0805、若有定义:inta=1,b=2,c=3;则以下程序段运行后a,b,c的值分别为()。
if(a<b){c=a;a=b;b=c;}
- a=1,b=2,c=3
- a=2,b=3,c=1
- a=2,b=3,c=3
- a=2,b=1,c=1
D 0806、以下程序段运行后a的值为()。
int x=6,y=5;
int a;
a=(--x==y++)?x:y+1;
- 0
- 1
- 6
- 5
C 0807、以下程序的运行结果()。
void main()
{ int n=’e’;
switch(n--)
{ default: printf(“error”);
case ‘a’:
case ‘b’: printf(“good”);break;
case ‘c’: printf(“pass”);
case ‘d’: printf(“warn”);
}
}
- error
- good
- error good
- warn
C 0808、 以下程序的运行结果是()
void main()
{ int n='c';
switch(n++)
{ default:printf("error");break;
case 'a':
case 'b':printf("good");break;
case 'c':printf("pass");
case 'd':printf("warn");
}
}
- pass
- warn
- pass warn
- error
D 0809、以下程序的运行结果是()。
voin main()
int n=5;
if(n++>=6)
printf(“%dn”, n);
else
printf(“%dn”, ++n;)
- 4
- 5
- 6
- 7
A 0810、 下面关于switch语句的叙述中,错误的是()。
- case后面的表达式可以是关系表达式
- switch语句是多分支选择语句
- 每一个case后面的值必须互不相同,否则会出现互相相矛盾的现象
- 在执行一个case分支后,可用一个break语句使流程跳出switch语句
B 0901、设有整型变量x,下述语句( )不会出现死循环。
- for(;;x+=1);
- for(;(x=getchar())!='n';);
- while(1) {x++;}
- for(x=10;;x––);
B 0902、对于整型变量x,与while(!x) 等价的是( )。
- while(x!=0)
- while(x==0)
- while(x!=1)
- while(~x)
A 0903、对于整型变量x和y,语句for(x=0,y=0;(y!=123)&&(x<4);x++) y++;中的“y++;”被执行( )。
- 4次
- 0次
- 123次
- 3次
B 0904、在C语言中while循环和do—while循环的主要区别是()。
- do––while循环体内可以使用break语句,while循环体内不能使用break语句
- do––while的循环体至少无条件执行一次,while的循环体不是
- do––while循环体内可以使用continue语句,while循环体内不能使用continue语句
- while的循环体至少无条件执行一次,do––while的循环体不是
B 0905、以下程序段运行后,循环体运行的次数为()。 int i=10, x;
for( ; i<10; i++) x=x+ i;
- 10
- 0
- 1
- 无限
D 0906、以下程序段运行后变量n的值为()。
int i=1,n=1;
for( ; i<3; i++) {continue;n=n+i;}
- 4
- 3
- 2
- 1
B 0907、以下程序的运行结果是()
void main()
{int sum=0,item=0;
while(item<5)
{ item++;
sum+=item;
if(sum==5)
break;
}
printf("%dn",sum);
}
- 10
- 15
- 5
- 6
C 0908、下列程序的运行结果为()。
void main()
{ int sum=0,item=0;
while(item<5)
{item++;
sum+=item;
if(sum>=6)
break;}
printf(“%dn”,sum);
}
- 10
- 15
- 6
- 7
B 0909、下列程序的运行结果为()。
void main()
{ int sum=0,item=0;
while(item<5)
{item++;
if(item==2)
continue;
sum+=item;
}
printf(“%dn”,sum);
}
- 10
- 13
- 15
- 1
B 0910、以下程序运行后,循环体中的”count+=2;”语句运行的次数为()。
int i,j,count=0;
for(i=1;i<=4;i++)
{ for( j=1;j<=i;j++)
{count+=2;
printf(“%d”,count);}
}
A. 8次 B. 10次 C)16次 D)20次
A1001、下列数组声明中,正确的是( )。
- int a[5]={0};
- int a[]={0 1 2};
- int a[5]=0;
- int a[];
A1002、下列数组声明中,正确的是( )。
- int a[10];
- int n=10,a[n];
- int N=10;int a[N];
- int n;scanf("%d",&n); int a[n];
C1003、已知 int a[13]; 则不能正确引用a数组元素的是( )。
- a[0]
- a[10]
- a[10+3]
- a[13-5]
B1004、若有定义:int a[3]={0,1,2};则a[1]的值为()。
- 0
- 1
- 2
- 3
A1005、若有定义:int a[5]={1,2,3,4,5}; 则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为()。
- 6
- 5
- 1
- 2
D1006、以下能对一维数组a进行正确初始化的语句是()。
- int a[5]=(0,0,0,0,0);
- int a[5]=[0];
- int a[5]={1,2,3,4,5,6,7};
- int a[]={0};
D1007、下面程序段的运行结果是()。
int i=0,a[]={3,4,5,4,3};
do{ a[i]++;
}while(a[++i]<5)
for(i=0;i<5;i++)
printf(“%d”,a[i]);
- 4 5 6 5 4
- 3 4 5 4 3
- 4 5 5 5 4
- 4 5 5 4 3
C1008、下列程序段的运行结果为()。
int i=0,a[]={7,5,7,3,8,3};
do{ a[i]+=2;
}while (a[++i]>5);
for(i=0;i<6;i++)
printf(“%d ”,a[i]);
- 9 7 9 5 10 5
- 9 5 9 3 10 3
- 9 5 7 3 8 3
- 7 5 7 3 8 3
A1009、下列程序的运行结果是()。
int i=0,a[]={1,2,3,4,5};
do{ a[i]++10;
}while(a[++i]>2);
for(i=0;i<5;i++)
printf(“%d”,a[i]);
A. 11 2 3 4 5
B. 1 2 3 4 5
C. 11 12 13 14 15
D. 11 12 3 4 5
B1010、C语言中数组元素下标的数据类型是()。
- 实型常量
- 整型常量或整型表达式
- 任何类型的表达式
- 字符型变量
C1101、设有如下程序段:
int a[3][3]={1,0,2,1,0,2,1,0,1}, i , j, s=0;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
s=s+a[i][j];
则执行该程序段后,s的值是( )。
- 0
- 1
- 2
- 3
B1102、有如下定义int a[][3]={1,2,3,4,5,6,7,8};
则数组a的行数是( )。
- 2
- 3
- 4
- 无法确定的
D1103、以下数组定义中,正确的是( )。
- int a[2][3]={1,2,3,4,5,6,7};
- int a[][]={{1,2,3},{4,5,6},{7,8,9}};
- int a[2][]= {1,2,3,4,5,6};
- int a[][4]= {6};
A1104、若有定义:int a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为()。
- 0
- {1,2}
- 1
- 3
A1105、若有定义:int a[3][3];则&a[2][1]-a的值为()。
- 7
- 8
- 6
- 9
D1106、若有定义:int i=0,x=0;int a[3][4]={1,2,3,4,5,6,7,8,9};则以下程序段运行后x的值为()。
for ( ; i<3; i++) x+=a[i][2-i];
- 0
- 12
- 15
- 18
D1107、int a[2][3];对数组非法引用的是()。
- a[0][1/2]
- a[1][1]
- a[4–4][0]
- a[0][3]
C1108、以下数组定义中,正确的是()。
- int a[2][]={1,2,3,4,5};
- int a[][2]={{0},{}};
- int a[2][2]={{1,2},{3}};
- int a[][]={1,2,3,4};
A 1109、若有定义int a[][3]={1,2,3,4,5,6,7,8,9}; 则表达式sizeof(a)/sizeof(a[0])的值为()。
- 3
- 4
- 5
- 9
B1110、以下程序段运行后s的值是()。
int a[3][3]={1,2,3,1,2,3,1,2,3};
int i,j,s=1;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
s*=a[i][j];
A. 18 B. 108 C. 2 D. 12
A 1201、设有以下变量定义:char str1[]=”string”, str2[8],*str3, *str4=”string”;( )是正确的。
- strcpy(str1,"China");
- str2="China";
- strcpy(*str3,"China");
- strcpy(str4[0],"China");
D1202、有如下定义:
char str[6]={‘a’,’b’,’0’,’d’,’e’,’f’};
则语句:printf(“%s”,str);的输出结果是( )。
- ab
- abdef
- ab0
- ab
C1203 、设有如下数组定义:char str[8]={“FuJian”}; 则分配给数组str的存储空间是( )字节。
- 6
- 7
- 8
- 9
B1204、若有定义:char a[ ]=”abcdef”;char b[]=”xyz”;则以下程序运行后屏幕输出为()。
strcpy(a,b); printf(“%c”,a[2]);
- c
- z
- 0
- d
C1205、以下程序段运行后屏幕输出为()。
char a[ ]= “abc0mis”; printf(“%d”,strlen(a));
- 5
- 8
- 3
- 4
B1206、若有定义:int a=2;则语句
a=strcmp(“miss”, “miss”);运行后a的值为( )。
- 1
- 0
- –1
- 2
B1207、下列程序运行后输出( ).
char str[ ]=”abcd”; printf(“%d”,strlen(str));
- 4
- 5
- 6
- 7
A1208、以下程序运行后屏幕输出为()。
char str[60]; strcpy(str,”hello”);
printf(“%d”,strlen(str));
- 5
- 6
- 7
- 80
B1209、char str1[6]= “abcdm”,*ps,*str2= “abcdef”;( )是正确的。
- strcpy(str1,str2);
- 表达式strcmp(str1,str2)的值大于0
- str1=str2;
- 表达式strlen(str1)的值为6
D1210、有如下定义:
char str[3][2]={‘a’,’b’,’c’,’0’,’e’,’f’};
则语句:printf(“%s”,str[0]);的输出结果是( )。
- ab
- abcef
- abc0
- abc
A1301、设有如下函数定义:
int fun(char *str)
{ char *p=str;
while (*p!=’0’) p++;
return (p-str);
}则以下语句执行后的输出结果是( )
printf(“%dn”,fun(“Student”))
- 7
- 8
- 9
- 10
A1302、以下程序的运行结果是( )。
int fun(int array[4][4])
{int j;
for(j=0;j<4;j++) printf(“%2d”,array[2][j]);
printf(“n”);
}
main()
{int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};
fun(a);
}
- 2005
- 1004
- 0120
- 0450
C1303、如下fun函数的类型是( )。
fun(float x)
{double y; int z;
y=x*x;
z=(int)y;
return(z);
}
- void
- double
- int
- float
B1304、以下程序运行后屏幕输出为()。
#include<stdio.h>
int f(int x, int y)
{ return (x+y); }
main()
{ int a=2,b=3,c;
c=f(a, b);
printf(“%d+%d=%d”,a,b,c);
}
- 0
- 2+3=5
- 2+3=0
- 3+2=5
D1305、以下程序运行后屏幕输出为()。
#include<stdio.h>
int a=2,b=3;
int max (int a, int b)
{ int c;
c=a>b?a:b;
return (c);
}
main()
{ int a=4;
printf(“%d”,max(a,b));
}
- 2,3 B. 2 C. 3 D.4
B1306、以下程序运行后屏幕输出为()。
#include <stdio.h>
void f(int i)
{ int a=2;
a=i++;
printf(“%d,” ,a ); }
main( )
{ int a=1,c=3;
f(c);
a=c++;
printf(“%d”,a);
}
- 4,3
- 3,3
- 4,5
- 3,5
D1307、int fun()
{static int k=0;
return ++k;
}
以下程序段运行后输出()。
int i;
for(i=1;i<=5;i++) fun();
printf(“%d”,fun());
- 0 B. 1 C. 5 D. 6
D1308、以下程序运行后屏幕输出为()。
#include <stdio.h>
int global=100;
fun ( )
{ int global=5;
return ++global; }
void main( )
{ printf(“%dn”,fun( ));
}
- 100
- 101
- 5
- 6
B1309、下列关于C语言函数的描述中正确的是()。
- 函数的定义可以嵌套,但函数的调用不可以嵌套
- 函数的定义不可以嵌套,但函数的调用可以嵌套
- 函数的定义和函数的调用都可以嵌套
- 函数的定义和函数的调用都不可以嵌套
B1310、以下程序运行结果是()。
fun (int i )
{ int a=2;
a=i++;
printf(“%d,” ,a ); }
main( )
{ int a=5,c=3;
fun(c);
printf(“%d”,a);
}
A. 4 5 B. 3 5 C.4 4 D. 3 3
C 1401、以下程序的运行结果是( )。
#include<stdio.h>
int fun()
{ static int k=0;
k++;
return k;
}
int main()
{ int i,n;
for(i=1;i<=10;i++)
n=fun();
printf("%dn",n);
return 0;
}
A.0 B.1 C.10 D.9
C 1402、以下程序的运行结果是( )。
#include<stdio.h>
int fun(int x,int y)
{ return x>y?x:y; }
int main()
{ int m=1,n=2;
printf("%dn",fun(m,n));
return 0;
}
A.0 B.1 C.2 D.3
A 1403、函数定义时,返回值类型定义为( ),则表示该函数无返回值。
A.void B.float C.empty D.double
C 1404、以下程序的运行结果是( )。
#include<stdio.h>
int k=0;
void fun1(){ k=10; }
int fun2(){ k++; return k; }
int main()
{ fun1();
printf("%dn",fun2() );
return 0;
}
A.0 B.10 C.11 D.12
C 1405、以下程序的运行结果是( )。
#include<stdio.h>
void fun() { int k=10; printf("%d",k); }
int main()
{ int k=0; printf("%d,",k);
fun();
return 0;
}
A.0,0 B.10,10 C.0,10 D.10,0
B 1406、以下程序的运行结果是( )。
#include<stdio.h>
void fun(int x, int *py)
{ x++;
(*py)--;
}
int main( )
{ int a=5,b=10;
fun(a,&b);
printf("a=%d,b=%dn",a,b);
return 0;
}
A.a=5,b=10 B.a=5,b=9 C.a=6,b=9 D.a=6,b=10
B 1407、以下程序的运行结果是( )。
#include<stdio.h>
void fun(int x)
{ x++;
printf("%d ",x);
}
int main( )
{ int a=5;
fun(a);
printf("%dn",a);
return 0;
}
A.5 6 B.6 5 C.5 5 D.6 6
B 1408、以下程序的运行结果是( )。
#include<stdio.h>
int fun(int x)
{ if(x==1) return 1;
return x*fun(x/2);
}
int main( )
{ int a=5;
printf("%dn",fun(a));
return 0;
}
A.5 B.10 C.50 D.15
B 1409、以下程序的运行结果是( )。
#include<stdio.h>
int fun(int x)
{ if(x==0) return 1;
return fun(x/2);
}
int main( )
{ int a=5;
printf("%dn",fun(a));
return 0;
}
A.5 B.1 C.0 D.2
B 1410、以下程序的运行结果是( )。
#include<stdio.h>
int fun(int a[],int n)
{ if(n==1) return a[0];
return fun(a,n-1)+a[n-1];
}
int main( )
{ int a[]={1,2,3,4,5};
printf("%dn",fun(a,5));
return 0;
}
A.5 B.15 C.10 D.1
D1501、若有以下宏定义,#define MOD(x,y) x%y
则执行以下程序段后,z的值是( )。
int z,a=15,b=100;
z=MOD(b,a);
- 100
- 15
- 11
- 10
B1502、以下叙述中,正确的是( )。
- “#define PRICE=30”定义了与30等价的符号常量PRICE
- 预编译处理命令行都必须以“#”开头
- 程序中使用带参数的宏时,参数类型要与宏定义时一致
- 宏名只能包含大写字母和数字字符
A1503、以下叙述中,正确的是( )。
- 宏展开不占用运行时间,只占用编译时间
- 预编译处理命令行必须以分号结束
- 一个源程序只能有一个预编译处理命令行
- 使用带参数的宏定义时,应该说明每个参数的数据类型
C1504、以下叙述中不正确的是( )。
- 宏展开不占用运行时间,只占用编译时间
- 宏名无类型
- 宏名必须用大写字母表示
- 预处理命令行都必须以#号开始
A1505、若有定义: #define PI 3, 则表达式PI*2*2的值为()。
- 12
- 4
- 3
- 不确定
C1506、以下程序运行后,屏幕输出为()。
#define MIN(a,b)((a)<(b)?(a):(b))
main()
{ int x=2,y=3,z;
z=2*MIN(x,y);
printf(“%d”,z);
}
- 2 B.3 C. 4 D. 6
A1507、下面程序的输出结果是()。
#include <stdio.h>
#define SQR(x) (x*x)
void main()
{ int a,b=3;
a=SQR(b+2);
printf(“n%d”,a); }
- 11
- 25
- 不定值
- 产生错误
C1508、下面程序的输出结果是()。
#include <stdio.h>
#define ONE 1
#define TWO ONE+1
#define THREE TWO+1
void main()
{ printf(“%dn”,THREE-ONE)
}
- 产生错误
- 1
- 2
- 3
B1509、以下叙述正确的是()。
- 预处理命令行必须位于C源程序的起始位置
- 在C语言中,预处理命令行都以"#"开头
- 每个C程序必须在开头包含预处理命令行:#include<stdio.h>
- C语言的预处理不能实现宏定义和条件编译的功能
A1510、以下叙述错误的是( )。
A.宏定义不占用程序运行时间,但与程序中的语句一样需要编译
B.宏定义必须放置在它所在的源程序文件的最前面
C.一个C语言源程序可以有多条预处理命令
D.宏定义中的宏名一般用大写字母表示
D1601、设有以下语句,则( )是对a数组元素的不正确引用,其中0≤i<10。
int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a ;
- a[p–a]
- *(&a[i])
- p[i]
- *(*(a+i))
C1602、若有定义int *p1,*p2;,则指针变量p1、p2不能进行的运算是( )。
- <
- =
- +
- –
B1603、执行以下程序段的输出结果是( )。
int a=10,*p=&a;
printf(“%d”,++*p);
- 10
- 11
- 变量a的地址
- 变量a的地址 + 1
A1604、以下程序段运行后*(p+3)的值为()。
char a[]=”good”;
char *p;
p=a;
- 'd'
- '0'
- 存放'd'的地址
- 'o'
C1605、以下程序段运行后*(++p)的值为()。
char a[5]=”work”;
char *p;
p=a;
- 'w'
- 存放'w'的地址
- 'o'
- 存放'o'的地址
B1606、若有定义:int *p,a=4; p=&a;则以下均代表地址的是()。
- a,p
- &a,p
- &a,*p
- a,*p
D1607、若有说明语句:double *p,a; 则能通过scanf语句正确输入项读入数据的程序段是()。
- *p=&a;scanf("%lf",p);
- *p=&a;scanf("%lf",*p);
- p=&a;scanf("%lf",*p);
- p=&a;scanf("%lf",p);
A1608、在16位编译系统上,定义int a[]={10,20,30} , *p=&a; 当执行p++;后下列错误的是()。
- p向高地址移了一个字节
- p与a+1等价
- 语句printf("%d",*p);输出20
- p指向数组元素a[1]
B1609、下面语句正确的是()。
- int *p; *p=20;
- char *s="abcdef"; printf("%sn",s);
- char str[]="abcd"; str++;
- char str[]={'a','b','c'};printf("%s",str);
A 1610、以下程序的运行结果是( )。
#include<stdio.h>
int main()
{ int a=1,b=2,*pa=&a,*pb=&b;
(*pa)++;
printf("%dn",a+b);
return 0;
}
A.4 B.3 C.1 D.2
D1701、若有以下程序段,且0≤i<4,0≤j<3,则不能正确访问a数组元素的是( )。
int i,j,(*p)[3];
int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
p=a;
- *(*(a+i)+j)
- p[i][j]
- (*(p+i))[j]
- p[i]+j
B1702、若函数fun的函数头为:int fun(int i,int j)
且函数指针变量p定义如下:
int (*p)(int i,int j);
则要使指针p指向函数fun的赋值语句是( )。
- p=*fun;
- p=fun;
- p=fun(i,j);
- p=&fun;
D1703、设有如下变量定义:
char aa[ ][3]={‘a’,’b’,’c’,’d’,’e’,’f’};
char (*p)[3]=aa;
则以下程序段的运行结果是(D)。
p++;
printf(“%c”,**p);
- a
- b
- c
- d
D1704、 以下程序段运行后x的值为()。
int a[]={1,2,3,4,5,6,7,8}; int i,x,*p;
x=1; p=&a[2];
for(i=0;i<3;i++)
x*=*(p+i);
- 不确定
- 24
- 120
- 60
B1705、以下程序段运行后x的值为()。
int a[ ]={1,2,3}, b[ ]={4,2,5};
int *p,*q; int i ,x;
p=a; q=b;
for(i=0;i<3;i++)
if(*(p+i)==*(q+i))
x=*(p+i)*2;
- 2
- 4
- 6
- 不确定
C1706、以下程序段运行后x的值为()。
int a[9]={1,2,3,4,5,6,3,8,9};
int *p,*q; int i ,x;
p=&a[0]; q=&a[8];
for(i=0;i<3;i++)
if(*(p+i)==*(q-i))
x=*(p+i)*2;
- 2
- 4
- 6
- 不确定
A1707、下面程序输出结果是()。
#include <stdio.h>
void main()
{ int i ; char *s="abc";
for(i=0;i<3;i++)
printf("%sn",s+i);
}
- abc
bc
c
- c
bc
abc
- abc
c
bc
- a
ab
abc
A1708、下面程序输出是()。
#include <stdio.h>
void main()
{ char *str=“12345”,*ps=str+4;
printf(“%cn”,ps[-4]); }
- 1
- 2
- 3
- 错误
A1709、从键盘输入1 2 3 4 5<回车>,输出为()。
#include <stdio.h>
#define N 5
void main()
{ int a[N]; int *p=a;
while(p<a+N)
scanf(“%d”,p++);
while(p>a)
printf(“%d”,*(- -p));
}
- 5 4 3 2 1
- 1 2 3 4 5
- 2 3 4 5 1
- 4 3 2 1 5
B1710、以下程序的运行结果是()。
int x[]={2,3,4,5,6,7},*p=x;
int i,s=0;
for(i=1;i<6;i++) s+=p[i++];
printf(“%d”,s);
A. 12 B. 15 C. 25 D. 27
1801 C 设有以下定义语句:
struct student
{int num;
char name[10];
float score;
}wang,zhang;
则不正确的叙述是( )。
- struct是结构体类型的关键字
- zhang是结构体变量名
- wang是结构体类型名
- num,name,score都是结构体类型student的成员名
B1802、设有以下定义语句:
struct student
{int num;
char name[10];
float score;
}wang,zhang;
则变量wang所占的内存字节数是( )。
- 14
- 16
- 18
- 20
B1803、设有如下定义语句:
union u_type
{int i;
double x;
float f;
};
struct str_type
{char str[100];
union u_type u[2];
}
则语句 printf(“%d”,sizeof(struct str_type)); 的输出结果是( )。
- 100
- 116
- 120
- 200
C1804、若有定义:
struct teacher
{ int nun;
char name[10];
char sex;
int age;
float score;
}teacher1;
则变量teacher1所占用的内存字节数是()。
- 5
- 14
- 19
- 20
C1805、下列对结构体类型变量定义不正确的是()。
- Struct teacher
- {int num;
- int age;
- }teach1;
- struct
- {int num;
- int age;
- }teach1,teach2;
- struct
- {int num;
- int age;
- }teacher;
- struct teacherteach1;
- struct teacher
- {int num;
- int age;
- };
- struct teacher teach1;
D1806、若有定义:
struct teacher
{int num;
char sex;
int age;
}teacher1;
则下列叙述不正确的是()。
- struct是结构体类型的关键字
- struct teacher是用户定义的结构体类型
- num,sex,age都是结构体变量teacher1的成员
- teacher1是结构体类型名
D1807、以下程序的运行结果是()。
#include<stdio.h>
union Utype{
int i;
float f;
}u[2];
void main()
{printf("sizeof(u):%dn",sizeof(u));
}
- 2
- 4
- 6
- 8
D1808、以下程序运行结果为()。
#include <stdio.h>
union utype
{int i; float f;
};
struct
{ char ch[2];
int i;
union utype u;
}a;
void main()
{ printf(“sizeof(a):%dn”,sizeof(a))
}
- 5
- 6
- 7
- 8
D1809、以下C语言共用体类型数据的描述中,不正确的是()。
- 共用体变量占的内存大小等于所需内存最大的成员所占的内存
- 共用体类型可以出现在结构体类型定义中
- 在定义共用体变量的同时允许对第一个成员的值进行初始化
- 同一共用体中各成员的首地址不相同
B1810、若有以下类型说明,则( )是正确的叙述。
typedef union
{ char str[2];
int i;
}sp;
- sp是一个共用体变量名
- sp是一个共用体类型名
- union sp是共用体类型名
- typedef union是共用体类型名
A1901、对枚举类型进行定义,不正确的是( )。
- enum b{1, 2, 3};
- enum a{A, B, C};
- enum c{D=3, E, F};
- enum d{X=0, Y=5, Z=9};
C1902、假定已有如下变量说明和枚举定义:
char ch;
int j,k;
enum day{sun,mon,tue,wed,thu,fri,sat};
int a[sat]
判断下列语句是否符合语法规则,结果是()。
char a; /*语句1 */
j+k=j; /*语句2 */
if(a[mon]>0) j++; /*语句 3 */
- 语句2错误,其它正确
- 语句1正确,其它错误
- 语句3正确,其它错误
- 语句1错误,其它正确
C1903、设有如下定义:
typedef int *INTEGER;
INTEGER p,*q; 则( )是正确的叙述。
- p是int型变量
- q是基类型为int的指针变量
- p是基类型为int的指针变量
- 程序中可用INTEGER代替int类型名
A1904、以下程序段运行后,a,b,c的值分别是( )。
int a=3,b=5,c;c=a&b;
A.3,5,1 B.3,5,3 C.5,3,1 D.5,1,3
C1905、若有定义:int a=20,b=28,c; 则执行语句c=(a^b)<<2;后c的值为( )。
- 2
- 5
- 32
- 92
A1906、若有定义:int a=20,b=28,c; 则执行语句c=(a&b)>>2;后c的值为( )。
- 5
- 7
- 80
- 112
C 1907、在无符号数的位运算中,操作数右移一位相当于将该操作数( )。
A.除以4 B.乘以4 C.除以2 D.乘以2
C 1908、若已定义:int a=8,b=7,c; 语句c=a|b; 执行后c的值为( )。
A.0 B.8 C.15 D.7
B1909、下面程序输出结果是()。
# include <stdio.h>
void main()
{enum weekday{sum=7,mon=1,tue,wed,thu,fr,sat};
enum weekday day=sat;
printf(“%dn”,day);
}
- 7
- 6
- 5
- 4
C1910、若有以下类型说明,叙述正确的事()。
typedef struct
{ int num;
char *name;
int score;
}STU,*PSTU;
- STU是变量名
- PSTU是变量名
- PSTU是指向结构体类型STU的指针类型名
- 类型说明语句有错误
c语言e怎么表示_如何一个月学完c语言相关推荐
- c语言课程设计(学生籍贯管理系统)学完c语言你可以做的案例
目录 第一章 设计简介及设计方案讨论 1.1背景和意义 1.1.1背景: 1.1.2意义: 1.2需求分析 1.3使用说明 1.4流程图 1.5设计 1.5.1功能实现 第二章 核心代码讲解 2. ...
- 一个月写完vue音乐播放器
前言 我觉得每一段自己努力的时光都需要被自己记录下来,所以就有了想法记录我这一个月看视频的所得.在这个过程中自己没有像之前一样,遇到自己解决不了的问题就逃避.虽然说解决一个问题的速度还是有点慢,大概是 ...
- 学完C语言,学什么, 怎么学,之后学什么
当我学玩C语言不知道学习什么的时候看了:[比特鹏哥]C语言学完后学什么?_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Mi4y1C7ZC?spm_id ...
- 学完C语言后,应该学什么?
来源于B站鹏哥C语言 文章目录 1.怎么算是C语言学完了? 2.学完C语言有什么好处? 3.C语言学完后,可以学什么? 4.C语言学完后是不是就可以兼职赚钱了? 5.C++,Java,测开三个方向如何 ...
- C语言学到什么程度可以找到工作呢?学完C语言之后要学些什么呢?
经常有人私信问我:C语言学到什么程度可以找到工作呢?学完C语言之后要学些什么呢? 今天我就带大家了解一下 想要找一个开发桌面应用程序(QQ,酷狗.360.浏览器.暴风影音.微信.百度网盘等等),开发大 ...
- 数据结构两个月学完_这是我作为数据科学家两年来所学到的
数据结构两个月学完 It has been 2 years ever since I started my data science journey. Boy, that was one heck o ...
- L1-074 两小时学完C语言 (5 分)-PAT 团体程序设计天梯赛 GPLT
知乎上有个宝宝问:"两个小时内如何学完 C 语言?"当然,问的是"学完"并不是"学会". 假设一本 C 语言教科书有 N 个字,这个宝宝每分 ...
- 2021天梯赛L1-074 两小时学完C语言 题解
L1-074 两小时学完C语言 (5 分) 题目: 知乎上有个宝宝问:"两个小时内如何学完 C 语言?"当然,问的是"学完"并不是"学会". ...
- c语言流程图菱形代表什么_求一个输出菱形的c语言的流程图,“行”一个循环,然后把菱形分为上三角(四行的)和下三角(三行)...
展开全部 学习C语言始终要记住"曙光在前头"和"千金难买回头e68a84e8a2ad62616964757a686964616f31333262376639看" ...
最新文章
- 硬盘mdr转换成gdp linux,Linux 命令学习神器!命令看不懂直接给你解释!
- 关于滴水的VT调试器
- reactjs redux异步action
- 每日两SQL(1),欢迎交流~
- mysql 错误 0152_SP2-1503 SP2-0152 错误解决
- 数据库:存储过程_数据科学过程:摘要
- 计算机网络实训室建设设备,计算机网络技术综合实训室建设方案.doc
- Lua C API的正确用法
- css 悬停动画_CSS3缩放图像动画效果悬停
- OracleSpatial函数实例
- 如何将pdf文件转换成可以编辑的文档
- python doc转pdf
- 肌电数据归一化并显示灰度图片
- Java编程思想笔记
- Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 - 上
- 《请停止无效的社交》第一章七问七答读后感作文2300字
- EasyClick 原生UI 制作水印图
- 【mcuclub】MQ系列气体传感器
- OTL、OCL、BTL电路的区别及其判断方法
- MetLife - 美国大都会人寿保险公司
热门文章
- 预约挂号医院管理项目----Service-cmn模块—数据字典
- 统信UOS+win7双系统安装
- 樱花庄的宠物女孩AtCoder Grand Contest 015E - Mr.Aoki Incubator
- 夏培肃清华大学计算机,纪念夏培肃:中国计算机事业的“拓荒者”
- 《Openwrt开发》AR9331路由器实现视频监控
- 【soft6星评论】中台只是一种说法,中小企业主们要擦亮眼睛
- 如何从其他平台快速引流到微信?
- 计算机发展历程结绳记事,从结绳记事到竹简纸张,从计算机存储到光盘刻录,人类从未停止______...
- 当使用Selenium WebDriver 加载页面时出现浏览器闪退时,如何解决?
- SmallJava V2.0 产品说明书(20210405)