《2016年9月吉林大学课程机考复习题-c语言程序设计》由会员分享,可在线阅读,更多相关《2016年9月吉林大学课程机考复习题-c语言程序设计(68页珍藏版)》请在金锄头文库上搜索。
1、C 语言程序设计1:在 C 语言中,文件的存取是以( )为单位的,这种文件被称作( )文件。 字符、流式 2:设 x=10100011,若要通过 xy 使 x 的高 4 位取反 ,低 4 位不变, 则 y 的二进制数是( )。11110000 3:若 a 是 int 型变量,且 a 的初值为 6,则计算表达式后 a 的值为() a+=a-=a*a -60 4:与表达式 x=y-2 等价的另一书写形式是().xxy 一 2 或 Xx(y 一 2) 5:在 C 语言中,一个函数一般由两个部分组成,它们是( )和( ) 。函数说明部分、函数体 6:以下程序的功能是将磁盘文件的内容在打印机上输出。请在
2、【】处填入适当的内容。include#define SIZE 256main(int argc,char *argvargv1) char buffSIZE;FILE *fpr, *fpd;if (argc!=2)puts(“7Usege:type filename”); exit();while(fgets(【 】)!=NULL)fputs(【 】);fclose(fpr);fclose(fpd); buff,SIZE,fpr、buff,fpd 7:若 x 和 n 均是 int 型变量,且 x 的初值为 12,n 的初值为 5,则计算表达式后 x 的只为( ) 。x%=(n%=2) 0 8:
3、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为() 。 1 9:若有定义:int b=7; float a=2.5,c=4.7;则下面表达式的值为().a+(int)(b/3*(int)(a+c)/2)%4 5.500000 10:表达式 10%3 的结果是() 1 11:把以下多项式写成只含七次乘法运算,其余皆为加、减运算的表达式( ).5X7+3X6-4X5+2X4+X3-6X2+X+10x*X *(x *(x*(x*(X*(5*x 十 3)一 4)十 2)十 1)一 6)十 1)十 10 12:下面程序的运行结果是( ) 。includemain
4、()int y,a; y=2;a=1;while(y-!=-1)doa*=y; a+;while(y-);printf(“%d,%d”,a,y); 1,-2 13:当调用函数 read 从磁盘文件中读数据时,若函数的返回值为 10,则表明读入了10 个字符;若函数的返回值为 0,则是() ;若函数的返回值为-1,则意味着( ) 。 遇到了文件结束符、读文件出错 14:以下程序的功能是用“追加“的形式打开 gg.txt 查看文件指针的位置;然后向文件中写入”data”再查看文件指针的位置。其中 ftell(*FILE)返回 long 型的文件指针位置。程序执行前 gg.txt 内容为:sampl
5、e。请在【】处填入适当的内容。#includeVoid main(void)【】long position;fp=fopen(【】);position=ftell(fp);printf(“position=%ldn”,position);fprintf(【 】);position=ftell(fp);printf(“position=%ldn”,position); fclose(fp);fclose(fp); FILE*fp、 gg.txt,a、fp,data 15:在 C 语言中(以 16 位 PC 机为例) ,一个 float 型数据在内存中所占用的字节数为() ;一个 double 型
6、数据在内存中所占用的字节数为() 。 4、8 16:执行下列语句后,a 的值是()int a12;a+=a-=a*a; -264 17:以下程序的运行结果是() 。main() increment();increment();increment();increment(); int x=0;x+=1;printf(“%d”,x);111 18:以下程序的运行结果是( ).main()struct EXAMPLEstructint x;inty;in;int a;int b;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(“%d,%d”,e.
7、in.x,e.in.y); 2,3 19:若 a、b 和 c 均是 int 型变量,则计算表达式后,a 值为() ,b 值为() ,c 值为() 。a=(b=4)+(c=2) 、 20:设有 char a,b;若要通过 a&b 运算屏蔽掉 a 中的其它位,只保留第 2 和第 8 位(右起为第 1 位),则 b 的二进制数是( ). 10000010 21:下面程序段的运行结果是() 。i=1;smain()int i,k=0;for(i=1;i+)k+;while(k表示回车)main() int a; float f;printf(“nInput number:”);输入语句printf(“
8、nf=%f,a=%dn”,f,a);Input number:4.5? ?24.scanf(“%f,%d”, 4:下面四个选项中,均是合法整形常量的选项是( ). 1.160-0xffff011 5:C 语言共用体型变量在程序运行期间 ( ) 。 2.只有一个成员驻留在内存中 6:以下程序的运行结果是 ( ). .typedef union long a2;int b4;char c8;TYTY our;main()printf (“%dn”,sizeof(our); 3.8 8:在 C 语言中,要求运算数必须是整形的运算符是( ). 4.% 9:若有说明:int a34;则对 a 数组元素的
9、非法引用是( ) 。 4.a04 10:若有以下定义和说明: #include“stdio.h”struct std char num6;char name8;float mark4;a30;FILE *fp;设文件中以二进制形式存有 10 个班的学生数据,且已正确打开,文件指针定位于文件开头。若要从文件中读出 30 个学生的数据放入 a 数组中,以下不能此功能的语句是( )。 4.for( i=0; i1) printf(“*”);r=n%k;if(n!=1) printf(“%dn”,n);回答:?125= ?5*5*5 (打印)10:以下程序的运行结果是( ).main()char a=
10、-8;unsigned char b=248;printf(“%d,%d”,a2,b2); 回答:-2,62 11:若有以下定义,则计算表达式 y+=y-=m*=y 后 y 值是() 回答:-6 12:以下程序的运行结果是() 。include main() int a=1,b=2,c;c=max(a,b);printf(“max is %dn”,c);max(int x, int y) int z;z=(xy)? x:y;return(z);回答:max is 2 13:请读程序片段:unsigned a=16;printf(“%d,%d,%dn”,a2,a=a2,a);以上程序片段的输出结
11、果是( ).回答:1,4,16 14:与表达式 x=y-2 等价的另一书写形式是().回答:xxy 一 2 或 Xx(y 一 2) 15:设 x=10100011,若要通过 xy 使 x 的高 4 位取反,低 4 位不变,则 y 的二进制数是( )。 回答:11110000 16:面程序段的运行结果是() 。char=”12345,*p;int s=0;for9p=a;*p!=0;p+) s=10*s+*p-0;printf(“%s”,P+5); 回答:12345 17:在 C 语言中(以 16 位 PC 机为例) ,一个 char 型数据在内存中所占用的字节数为( ) ;一个 int 型数据
12、在内存中所占用的字节数为() 。 回答:4、8 18:在 C 语言中, 作为双目运算符时表示的是( )运算. 回答:取地址、按位与 21:以下程序的运行结果是() 。main() increment();increment();increment();increment(); int x=0;x+=1;printf(“%d”,x);回答:111 22:已知字母 a 的 ASCII 码为十进制数 97,且设 ch 为字符型变量,则表达式 ch=a+8-3的值为( ) 。 回答:f 24:下面程序段的运行结果是() 。har str=”abc0def0ghi”,*p=str;printf(“%s”
13、,p+5); 回答:ef 25:设 int x;当 x 的值分别为 1、2、3、4 时表达式(x&l1)?1 :o 的值分别是( ),( ),( ),( ). 回答:1、0 、 1、0 26:在 C 语言中,一个 int 型数据在内存中占用 2 个字节,则 int 型数据的取值范围为() 回答:-32768+32767 或-32768+3276727:若 x 和 n 均是 int 型变量,且 x 和 n 的初值均为 5,则计算表达式后 x 的值为() ,n 的值为() 。x+=n+ 回答:10、6 (打)28:以下程序的运行结果是( ).main()unsigned char a,b;a=0*
14、1b;printf(“0x%xn”,b=amain()int I,k;for(I=0;Imain() int a=1,b=10;dob-=a ; a+ ; while ( b-(B)?(A):(B)#define PARTY(Y) printf(“Y=%dt“,Y)Main()int a=1,b=2,c=3,d=4,t;T=MAX(a+b,c+d);PRINT(t); 3.Y=7 27:使用 typedef 定义一个新类型的正确步骤是( )。 3.2,1,4,3 28:以下不正确的叙述是( ) 4.当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只能输入实型数值 29:以下 scanf 函数调用语句中对结构体 变量成员的不正确引用是( )。Stuct pupilchar name20 ;int age ; int sex;pup5,*p;p=pup; 4.scanf(“%d”,P-age); 30:表示图中坐标轴上阴影部分的正确表达式是( )./ / /_XA b c 3.(xa) (x b)&(xc) 1:请读程序片段:int a=1,b=2;if(aelse printf(“$n”);以上程序片段的输出结果是( ). 回答:$ 2:下面程序的运行结