一、选择题1.一个C语言程序是由(D )构成。
A.语句B.行号C.数据D.函数2.下面标识符中正确的是()。
A.d&ef B.6a C.z4x5c D.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。
A.缩排位置相同的B.在其之前未配对的C.在其之前未配对的最近的ifD.在同一行上的if5.下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2 B.3 C. 1 D.56.设有int x=11 ;则表达式(x+1/3)的值是(C )。
A.3 B.4 C.11 D.127.设有字符串A=“He has 钱!”,则该字符串的长度为( C )。
A.9B.10C.11D.88.有如下程序段,则正确的执行结果是()int m=3;while(m<=5){printf("%d ",m-3);m++;}A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出B.结果不确定C.-1 D.110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x;Char y;Char z[20];A.scanf("%d%c%c",&x,&y,&z);B.scanf("%d%c%s",&x,&y,&z);C.scanf("%d%c%c",&x,&y,z);D.scanf("%d%c%s",&x,&y,z);11.struct ex{int x ;float y;char z ;} example;则下面的叙述中不正确的是()。
A.struct结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型12.在C语言中对于实型数组,其每个数组元素的类型是( )。
A.实型B.整型C.可以为任何类型D.不确定13.若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。
A.p+1B.a+1C.a++D.++p二、填空题1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。
2.设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。
3.一个变量的指针是指___________________________________________________。
4.在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。
5.以下程序运行后的输出结果是。
该程序的功能是。
int main(){int x=10,y=20 ,t=0;if(x!=y)t=x;x=y;y=t;printf("%d,%d\n",x,y);}6.若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen( );。
7.有以下程序,当输入的数值为2,3,4时,输出结果为__________。
int main(){int x,y,z;printf("please input three number");scanf(“%d,%d,%d”,&x,&y,&z);sum=x*x+y*2+z;printf("sum of number is : %d",sum);}8.有以下程序int main(){char c;while((c=getchar())!='?')putchar(--c );}程序运行时,如果从键盘输入:YDG?N?<回车>,则输出结果为。
9.在循环中,continue语句与break语句的区别是:continue语句是break语句是三、程序填空与算法题1.下面程序是计算10个整数中奇数的和及其偶数的和,请填空。
#include <stdio.h>int main(){int a,b,c,i;a=c=0;for(i=1;i<=10;i++){scanf("%d",&b);canf("%d",&b);}printf("偶数的和=%d\n",a);printf("奇数的和=%d\n",c);}2.编写一个自定义函数,实现求两个实数的平方和3.以下程序运行后的输出结果是。
int main(){char s[]="GFEDCBA";int p=6;while(s[p]!='D'){printf("%c ", p);p=p-1;}}4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。
5.以下程序输出的结果是。
int ff(int n){static int f=l;f=f*n;return f;}int main(){ int i;for(i=1;i<=5;i++)printf("%d\n",ff(i));}6.设有以下程序:int main(){int n1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}}程序运行后,如果从键盘上输入1298;则输出结果为。
7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。
#include<stdio.h>main (){int i, j;for(i=1; ____________; i++)if (________________)printf("%d", j);}8.现有一个单链表Head,如下图所示,如果要在元素B 和D 之间插入一个字符型元素C 。
所需要的语句为:(如果用到指针,在图中标出指针的位置)四、编程题1.编程实现求解下面的式子的结果s=1*2+2*3+3*4+…+20*212.编程实现求下面式子的结果, 正弦sin(x)的近似值的多项式公式如下,要求输入x 和ε,按下面公式计算sin(x)的近似值,要求计算的误差小于给定的ε。
3.编程实现将某文本文件file1.txt 的内容读出来,显示到屏幕上。
一、填空。
1.实型变量的类型说明符有:__________、____________。
2.表达式7+8>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
int n=0, ch;Ch=getchar( );while( __________________ ) ) ) ){if ( ________________ ) n++;}4.putchar(c ) 函数的功能是_____________________________________。
5 int *p 的含义是_________________________________________。
6.C语言中数组的下标下限为___________________________。
7.定义fp为文件型指针变量的定义方法为_______________________。
8.数组 int a[3][4];共定义了____________个数组元素。
二、单项选择题1、下列属于整型常量的是________。
A、12B、12.0C、-12.0D、10E102、不属于字符型常量的是_________。
A.‘A’B、'a' C、“A”D、'b'3、下列表达式为关系表达式的为_________。
(其中a为一整型变量)A.3+4*5B、a==10 C、a>0?a:-a D、a=14、下面不正确的赋值语句是_____________。
A.a=a+1 B、a==b C、a+=b D、a=15、下列对数组定义不正确的语句是______________。
A.int m[5]; B、char b[]={‘h’,’e’};C、int a[10]={1,6,8,4};D、char p[];6、若有以下定义,则______和______是对数组元素的正确引用。
int a[5],*p=aA. *&a[6] B、*p+8 C、*(a+2) D、*p7、执行下列语句后,a的值是______。
int a=8;a+=a-=a*a;A.-240 B、64 C、112 D、-1128.指出下面正确的输入语句()。
A.scanf(“a=b=%d”,&a,&b) ;B.scanf(“%d,%d”,&a,&b) ;C.scanf(“%c”,c) ;D.scanf(“%f\n”,&f) ;9.下面的变量说明中正确的是____________。
A.int:a, b, c; B.int a; b; c; C.int a, b, c D.int a, b, c;10.C语言用()表示逻辑“真”值。
A.True B.t 或 y C.非零整型值 D.整型值0 11.若x=5,y=4 则y*=x+5; y的值为( ).A.40B.20C.15D.3013.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r”B.“w”C.“rb”D.“a”14.Break语句的正确的用法是()。