自学考试专题-高级语言练习题_第1页
自学考试专题-高级语言练习题_第2页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、选择1下列不正确的转义字符是(B) A B074 C D0 2若有以下定义: (C)char a; int b; float c; double d;则表达式a*b+d-c值的类型为Afloat Bint C double Dchar3设a=1, b=2, c=3, d=4,则表达式:a b ? a : c 的结果为(D)A4 B3 C 2 D14设x,y,z,t均为int型变量,则执行以下语句后,t的值为(C)x=y=z=1;t=+x|+y&+z;第2页共7页 A 不定值 B2 C1 D05设x和y均为int型变量,则执行下的循环后,y值为(C)for(y=1,x=1;y=50;y+)

2、if(x= =10) break; if (x%2= =1) x+=5; continue;x-=3; A 2 B4 C 6 D86给出以下定义:( C)char x =abcdefg;char y =a,b,c,d,e,f,g;则正确的叙述为A 数组X和数组Y等价 B数组x和数组Y的长度相同 C 数组X的长度大于数组Y的长度 D数组X的长度小于数组Y的长度7假定a和b为int型变量,则执行以下语句后b的值为(D)a=1; b=10;do b-=a; a+; while (b- -3;j-) if(j%3) j-;-j; -j;printf(%d ,j); A6 3 B7 4 C 6 2 D7

3、 39设有以下宏定义:( C)#define N 3#define Y(n) ( (N+1)*n)则执行语句: z=2 * (N+Y(5+1); 后, z的值为A 出错 B42 C 48 D5410设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(B)Ak=*P1+*P2; Bp2=k; CP1=P2; DK=*P1 * (*P2);学院 专业 年级 任课教师 学号 姓名 性别 座位号 11函数调用:strcat(strcpy(str1,str2),str3)的功能是(C) A将串str1复制到串str2中后再连接到串str3之后B将串str1连接到

4、串str2之后再复制到串str3之后C将串str2复制到串str1中后再将串str3连接到串str1之后D将串str2连接到串str1之后再将串str1复制到串str3中12将高级语言编写的程序翻译成目标程序的是 程序。(B)A解释 B编译 C汇编 D源13设有如下定义:( B)struct skint a;float b;data, *p;若有p=&data;,则对data中的a域的正确引用是A(*p).data.a B(*p).a Cp-data.a Dp.data.a14在以下一组运算符中,优先级最高的运算符是(B)A num B p-num C stu3.age D (*p).num2

5、6下面的四个运算符中,优先级最低的是( C)A ( ) B /. C D +27设char 型变量x中的二进制值为10100111,则表达式(2+x)(3)的值是(C)A10101001 B10101000 C01010101 D 1111110128若要打开C盘上user子目录下名为abc.txt的文本文件进行读/写操作,下面符合此要求的函数调用是( B)A fopen ( “C;userabc.txt”, “r”) B fopen ( “C:userabc.txt”,”r+”); C fopen ( “C:userabc.txt”, “rb”) D fopen ( “C:userabc.t

6、xt”, “w”); 29C语言提供的合法的关键字是( C)ADo BintegerC short DChar30以下 是不正确的转义字符。( B)A B091 CD031请选出可用作C语言用户标识符的一组标识符( D)Avoid define WORD B. for abc CaseC. 2a go sizeofD. a1_b3 _INT IF32. 若有:char w; char x; float y; double z;则表达式w*x+z-y的结果为 类型。( C)AfloatB.intC.doubleD. word33执行以下语句后的x值为 (D)unsigned int x=6553

7、5; printf(“%dn”,x);A65535 B. 1 C. 无定值 D. 134设有:int x=11,y=3,z;则语句:printf(“%dn”,z=(x%y,x/y);的输出结果是为(A)A3B. 30C. 4 D. 235. 在C语言中,long 、char和short三种类型数据所占用的内存( B)A 均为2个字节 B.由所用机器的机器字长决定C. 由用户自己定义 D. 是任意的36. 下列语句错误的是( D)Awhile(x=y) 5; B. do 2; while(a=b);C. while(0); D. do x+ while(x=10);37.以下说法中正确的是( A

8、)Acontinue只能在循环体中使用B. break 只能在循环体中使用C. break 不能在循环体中使用D. break 只能在switch语句中使用38对表达式xyz,应该用C语言表达式是( D)A(x=y=z)B. (x=y)and(y=z)C. (x=y)&(y=z)D. (x=y)&(y=z)39若有char x=”12345”; char y=1,2,3,4,5;则正确的描述是( A)A. x数组长度大于y数组长度。B. x数组和y数组的长度相同。C.x数组长度小于y数组长度。D. x数组等价于y数组。40. 若有int a,*p,则正确的赋值表达式是( C)Ap=a B. p

9、=*a C. p=&a D. *p=*a41. 在C语言中,对于存储类型为 的变量,只有在使用它们时才占用内存单元。( A)Aauto和register B. register和extern C. register 和static D. static和auto42. 下列程序正确的运行结果为( A)#includemain() printf(“%dt”,NULL); A.0B.1C.-1D.空值43在以下一组运算符中,优先级最高的运算符是( B)A ?: B. % C. = D. &44在C语言中,合法的长整型常数是( B)A.12345678B.23LC.0.05483743D.2.1869

10、e1045下列符号常量的定义中正确的是( C)A#define N3 Bdefine N 3 C#define N_1 3D#define N 1 346C语言提供的合法的关键字是( C)ADouble B. SHORT C. longD. integer47若a、b、c均为int型变量,是执行a=b=c=1; +a|+b&+c;语句后的b值为( C)A. 不正确 B. 3C.1D. 048设x,y为float型变量,则不合法的赋值语句是( C)A-x; B. y=(x,2)/10;C. x=y=z=0 D. x*=y-6;49设有:int x=13,y=5,z;则语句:printf(“%dn

11、”,z=(x%y,x/y);的输出结果是为( D)A3B. 5C. 4 D. 250设int x=3,y=4,输出语句printf(“x=%d,y=%d”,x,y)结果为( B)A3,4 B. x=3,y=4C. x=3,y=4(后跟换行符) D. 3,4(后跟换行符)51. 若用数组名作为函数调用时的实参,则实际上传递给形参的是( D)A数组的长度 B. 数组的第一个元素值C. 数组元素的个数D.数组首地址52. 设int x,y,z,t; 执行下列语句后,变量t的值为( D) x=y=z=0; if(x=y) t=z; else t=!z;A. 不确定 B. 2 C. 0 D. 153不正

12、确的赋值语句是( C)At+=t; B. n1=(n2=(n3=0);C. a=b+c=1; D. k=m=n;54. 设有定义: char s12=”string”;则printf(“%dn”,strlen(s);的输出是( C)A. 12 B. string C. 6D. 555若有:static int a23=2,4,6,8,10,12;则数组元素地址的正确表示是( B)A. *(a1+2)B. *(a+1)C. a1+3D. a0056. 设int a=2,b=3,c=4;则执行a*=16+(b+)-(+c);后a的值是( C)A27B. 25 C. 28D. 2657.以下运算符中

13、优先级最高的是(D)A& B. &(按位与) C. | D. !=58.设x,y为float型变量,则不合法的赋值语句是(C)。A+x; B. x=y=z=0; C. y=(x%2)/10 D. x*=f+8;59.设有:int x=10,y=3,z;则语句:printf(“%dn”,z=(x%y,x/y);的输出结果是为(D)。A1B. 0C. 4 D. 360. C语言中最简单的数据类型包括(B)A整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、实型、逻辑型 D. 整型、实型、逻辑型、字符型2、填空1设有定义float x =2.5, y= 4.7; int a = 7; 则表达

14、式x + a %3 * (int) (x + y)%2 / 4的是值是 2.5 。2. 十进制数123用八位二进制表示为 01111011 3若 x =5, y=3, 则表达式x+ = y + 1之值为 9 。4.设int a=2; 执行d=a-,e=d-,f=-e;后,a、d、e、f的值分别为 1,1,1,1 。5一个C语言的语句至少应包括一个 分号 。6设二进制数a是00101101,若想通过异或ab运算使a的高4位取反,低4位不变,则二进制数b应是 11110000。 7表达式( “abcd” “abd” )的值为 1 。8. 若有:double w10;则w数组元素下标的取值范围是 9

15、,0 。9若 a =15, 则printf(“%x”, a 1)之输出值为 1e 。10数学式10x20的C语言表达式 10=x&x=20 。11若a、b、c为int型变量,则执行a=b=c=1; +a|+b&+c;后a值为 2 。12.一个C语言的语句至少应包括一个 分号 。13.执行int a=14,b=15,x; char c=A; x=(a&b)&(ca); 后x的值为 1 。14十进制数75用八位二进制表示为 _01001011_ 。15条件”10x100”的C语言表达式是 (x10 & x100) _。16.若int x=1,y=1; 则表达式(!x|y-)的值为 1 。17表达式

16、0=0的值为_1_。18若int x=12; 则表达式+x的值是 13 _。19.语句printf(“abrehiyboun”);的输出结果是 rehiyou 。20C语言中变量的存储类型分为 auto, static, register, extern _ 。21.设:int a=2,b=2;执行e=b=a+3,c=b+4;后,a、b、c、e的值分别为 2,5,9,5 。22条件”x0或x10”的C语言表达式是 (x10)_。23设有定义int a=10,20,30,40,50;则*(a+3)的值为_40_。24函数形参和调用时实参都是数组名,传递方式为 地址传递 _ 方式。25. 结构化程

17、序设计规定的三种基本结构是 顺序结构、选择结构、循环结构 。3、阅读程序题1. 下面程序的输出是( 8 )。typedef union long x2; int y4; char z8; MYTYPE;MYTYPE them;void main() printf(%dn”,sizeof(them); 2阅读下列程序,写出程序运行的输出结果。( 17 )void main( )int x=15; while (x10 & x50) x+; if(x/3) x+; break; else continue; printf(“%d”, x); 3. 下面程序运行结果是【sum=27】。void ma

18、in() int a33=1,3,5,7,9,11,13,15,17,sum=0,k,j; for(k=0;k3;k+) for(j=0;jb?a:b); main()int a=15;printf(“%d”,max(a,b);5阅读下列程序,写出程序运行的输出结果。( 13 )main( )int x=11; while (x10 & x50) x+; if(x/4) x+; break; else continue; printf(“%dn”, x); 6.下面程序的输出结果是( 7 1 )。void as(int x,int y,int *cp,int *dp) *cp=x+y; *dp

19、=x-y; main() int a=4,b=3,c,d; as(a,b,&c,&d); printf(“%d %dn”,c,d); 7阅读下列程序,写出程序运行的输出结果。( 8,17 )#includeint fun(int x,int y) static int m=0,k=2; k+=m+1; m=k+x+y; return(m);void main() int j=4,m=1,k; k=fun(j,m); printf(“%d,”,k); k=fun(j,m); printf(“%dn”,k); 8下面程序的输出是 。( 20 )void main() int arr10,m,k=0

20、; for(m=0;m10;m+) arrm=m; for(m=1;mb)c=1; else if(a=b)c=0; else c=-1; return(c); void main() int k=2,p; p=fun(k,k+1); printf(“%d”,p); 10.下面程序的输出结果是( 0 )。main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(“%dn”,d*y); 11下面程序的输出结果是。( 11 )void main() int a33, *p,k; p=&a00; for(k=0;k9;k+)pk=k*2+3

21、; printf(“%dn”,a11); 12.下面程序的运行结果是( a=2,b=5 )。#includemain() int a=2,c=5; printf(“a=%d,b=%dn”,a,c); 13下列程序的输出结果是。( 10 11 )int a33=10,20,30;void main() int k,*p=&a00; for(k=0;k*pb)fun2( pc,pb ) if(*pc*pa)fun2( pc,pa ) if(*pb*pa)fun2( pb,pa )2有一字符数组a,内存有字符串“I am a student.”,要求把该字符串复制到字符数组b中,请填写程序中缺少的语

22、句。#include void main( ) char a =”I am a student.”, b20, *p1, *p2; int i; p1=a; p2=b; for( ; *p1!=0; p1+, p2+) *p2=*p1 ; *p2=0 ; printf(“String a is : %sn”, a); printf(“String b is:”); for( i=0; bi!=0; i+) printf(“%c”, bi); printf(“n”);3以下程序把从键盘上输入的字符存放到一个文件中(用字符#作为结束输入的标志), 请填写程序中缺少的语句。#includevoid

23、main() FILE *fp; char ch,fname10; printf(“Enter the name of filen”); gets(fname); if(fp=fopen(fname, ”w” )=NULL) printf(“Cannot open n”); exit(0); while(ch=getchar()!=#)fputc(ch,fp); fclose(fp); 4. 以下程序把从键盘上输入的字符存放到一个文件中(用字符 #作为结束输入的标志)请填空。#includevoid main() FILE *fp; char ch,fname10; printf(“Enter

24、 the name of filen”); gets(fname); if(fp=fopen(fname, ”w” )=NULL) printf(“Cannot open n”); exit(0); whle(ch=getchar()!=#)fputc( ch ,fp); fclose(fp);5以下通过函数average计算数组a中各元素的平均值,请填写程序中缺少的语句。float average(int *pa,int n) int k; float avg=0.0; for(k=0;kn;k+)avg=avg+( *pa+ ); avg=(avg/n); return(avg);void

25、 main() int k,a5=2,4,6,8,10; float mean; mean= average(a,5) ; printf(“mean=%fn”,mean);6下列程序的功能是输入一个字符串,将其中的所有大写字母换成小写字母,小写字母换成大写字母后输出。请在下划线填写程序中缺少的语句或语句成分。void main() char s81; int i=0;scanf(“%s”,s);while(si!=0) if(A=si) & (si=Z) si=si+32; else if(a=si) & (si=z) si-=32; i+; printf(“%s”,s);7. 下面fun函数

26、功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他依次类推, 请填空。fun(int x,int b) int k=0,r; do r=x% 2 ; bk+=r; x/= 2 ; while(x);8下列程序的功能是从键盘输入一个正整数,判断是否为素数。请在下划线填写程序中缺少的语句或语句成分。void main() int n,i,flag; scanf(“%d”,&n); flag=1 ; for(i=2;iwp) p+ ; for(k=*n; kp;k-)wk= wk-1 ; wp=x; + *n;10下列程序是输入10

27、个整数存入数组a,将其中最大数和最小数对调后输出。请在下划线填写程序中缺少的语句或语句成分。 void main() int a10, max, min, x, i, max_i, min_i; for(i=0; i10;i+) scanf(“%d”, &ai); max_i=0; min_i=0; max=min=a0; for(i=1;i10;i+) if(maxai) min=ai; min_i=i; x=amax_i, amax_i=amin_i,amin_i=x;for(i=0;i0) if(xamax) amax=x; if(xamin) amin=x; scanf(“%f”,&x

28、); printf(“namax=%fnamin=%fn”,amax,amin); 3.编写程序求3到100以内的素数和。#include #include #define N i=100 void main() int i, s; int isprime(int x);S=0; for (i = 3; N ; i+) if(isprime(i) = = 1) printf(n%d, i); s+=i; printf(%d, s); int isprime(int x) int i; for(i = 2; i =a&c=A&c=1e-4); printf(“pi=%fn”,4*pi); 6.

29、从键盘上输入若干正整数,求其中最大和最小数。输入的数以0为中止标记。 void main() int x,max,min; scanf(“%d”,&x); max=min=x; for(;x!=0;) if(xmax)max=x; scanf(“%d”,&x); printf(“max=%d,min=%dn”,max,min); 7编写程序,从键盘上输入10个数,求输入的10个数的平方和。#include stdio.hint main() int i,x,s=0; for(i=0;i10;i+) scanf(%d,&x); s=s+x*x; printf(%dn,s); return 0;8. 从键盘上输入若干字符(以回车换行符作为结束标志),统计其中有效字符的个数,有效字符是指第一个空格前面的字符。若输入的字符中没有空格符,则除回车换行符外的所有字符均为有效字符。 #include void main() int n=0; char c; while(c=getchar()!=n) if(c=)break; n+; printf(“number of character=%dn”,n);9编写程序,从键盘输入三个实数,并寻找最大数输出,要求用指针变量处理。#include stdio.hint main() float a,b,c,*pa=&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论