C语言试题,二级C语言试题_第1页
C语言试题,二级C语言试题_第2页
C语言试题,二级C语言试题_第3页
C语言试题,二级C语言试题_第4页
C语言试题,二级C语言试题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

实用文案二级C语言程序设计模拟试题(一)一、单项选择题。(每小题1分,共20分)1、一个C语言程序是由( B )组成。A) 一个函数 B) 一个或若干个函数C) 一个过程 D) 一个过程或若干个过程知识点:C语言程序的结构2、C语言用( D )表示逻辑真值。A) true B) T C) 整型值0 D) 非0整型值知识点:数据类型3、如果程序中有#include" 文件名"则意味着( A )。将"文件名"所指的那个文件的全部内容,在此命令行出现的这一点上,插入源程序指定标准输入输出宏定义一个函数条件编译说明知识点:编译预处理4、为一个结构体变量分配存储空间时,其所占容量为( B )。A) 结构体中第一个成员所占容量 B) 结构体中所有成员所占容量C) 结构体中所有成员中所占容量最大者 D) 结构体中最后一个成员所占容量标准文档实用文案知识点:结构体5、如果int*px,*py;则可用{temp=*px ;*px=*py;*py=temp} 实现*px和*py的交换。 其中temp应该说明为( A )。A) int temp B) int &temp C) int **temp D)int*temp知识点:指针6、于合法的c语言长整型常量是( A )。A) 12L B) 6887273 C) 5E12 D) (long)6887273知识点:数据类型7、下列程序输出正确的是( A )。main(){inta=-1,b=1,c;c=(a++<=0 )&&!((b--<=0));printf(“%d,%d,%d”,a,b,c);}A) 0,0,1 B) -1,1,1 C) 0,0,0 D) 0,1,0知识点:逻辑运算符8、已知E的ASCII码是69,则执行printf(“%c”,’D’-‘8’+’5’);的结果是( B )。A) 66 B) A C) B D) E知识点:数据类型与自动转换标准文档实用文案9、段名访问的方式是( A )A) 结构名.位段名 B) 位段名 C) 结构名 D) *&位段名知识点:位段10、有字符数组a,则正确的输入语句是( C )。A) gets('a'); B) scanf("%c",a); C) scanf("%s",a); D)gets("a");知识点:字符数组11、如果程序中有staticcharc;则编译时会对其自动设置初始值为( C )A) '\n' B) "\n" C) 0 D)'\0'知识点:存储类型与静态变量12、如果程序中有语句 FILEfp;fp=fopen("abc.txt" ,"w");则程序准备做( C )。A) 对文件读写操作 B) 对文件读操作 C) 对文件写操作 D) 对文件不操作13、如果有#define f(x,y) x+y及int a=2,b=3;则执行printf("%d" ,f(a,b)*f(a,b)) 后的值为( C )。A) 36 B) 25 C) 11 D) 1314、在下面的说明中,( D )是指向函数的指针。A)int*p[]; B) int(*p)[]; C) *p(); D) (*p)();15、如果在C程序中有main(intargc ,char*argv[]) ,那么( D )是指标准文档实用文案命令行中的参数个数。A)argv B) argv[] C) argc,argv[] D) argc16、下列程序运行的结果是( B )。#include<stdio.h>main(){unsigneda,b,x;a=0x255;b=a<<4x=(~b)&0xff}A) 0x55 B) 0xaf C) 0x50 D) 0xda17、下面程序中选择正确答案( C )main(){intk=0;while(printf( “*”)){k++;if(k<3)break;}}A) 其中循环控制表达式与’ 0’等价 B) 其中循环控制表达式与 0等价标准文档实用文案C) 其中循环控制表达式与 1等价 D) 其中循环控制表达式不合法18、用文件包含形式的预处理时 ,当#include 后面的文件名用尖括号括起 ,寻找被包含文件的方式为( B )先在源程序所在目录搜索,再按系统设定的标准方式搜索直接按系统设定的标准方式搜索仅仅搜索当前目录仅仅搜索源程序所在目录、设有如下函数定义intf(char*s){ char*p=s;while(*p) p++;return(p-s);}如果用printf(“%d”,f(“abcdef”));调用该函数,则输出结果为( B )。A) 0 B) 6 C) 7 D) 奇怪字符20、程序段 ( C )intx=-1;do{x=x*x;}(!x);A) 是死循环 B) 循环执行 2次 C) 循环执行 1次不合法标准文档实用文案二、不定项选择题。(每小题1分,共10分,错选、漏选均不得分)1、存储类型为static 的静态变量的正确描述有( ABE )。静态变量有外部静态变量和内部静态变量之分。静态变量的数据类型如果是整型,则其缺省初值由编译系统赋为0。内部静态变量不能赋初值。所谓全局变量就是指静态变量。外部静态变量只在本文件中可见。2、下列哪些运算符的优先级相同且运算次序从左到右( AC)。A) ()[] -> B) ++ -- C) < >= D) && ||&|3、在C语言中,下面哪些描述是正确的( BDE )。在switch(c)语句中,c可以是任意表达式。elseif语句可以转化为switch语句。大小写没有区别。goto语句必须与“转向标号”配合使用。C语言提供函数的递归调用机制。4、如有说明struct{intday ;intmonth ;intyear;}d,*pd;则下列哪些引用是正确的( ABC )。A) pd->year B) (*pd).year C) d.year D) *pd.year E)*(pd->year)5、在C语言中,系统指定的标准设备文件有( BCD )。A) fopen B) stdin C) stdout D) stderr E)标准文档实用文案fclose6、C语言中要求所用到的变量作强制性定义,其目的是( ACE )A) 变量被指定类型后便于分配内存单元 B) 确定变量的数量C) 保证程序中正确地使用变量 D) 保证变量不同名根据变量的类型便于确定运算的合法性7、结构化程序是由( ADE )组成的。A) 顺序结构 B) 模块结构 C) 树型结构D) 选择结构 E) 循环结构8、下列程序中 ,若输入的命令行为 :file1 china computer ,则输出的结果为( B )。#include<stdio.h>main(int argc,char*argv){while(--argc>0)printf(“%s”,*++argv);}A) file1 B) china C) china computer D)language9、下面( ACDE )是位段特性的正确描述。位段空间的分配,不受机器的限制一律从左到右B) 可以定义位段数组 C) 位段的长度不能大于存储单元的长度D) 位段可以用整数格式输出 E) 位段的长度可以为 0标准文档实用文案10、函数返回值的正确描述是( ACE )。函数的返回值是通过函数中的return语句获得有多少个return语句就有多少个返回值在定义函数时,对函数值的说明类型与return语句表达式的类型应一致如果函数值的类型与return中表达式的类型不一致时,以表达式(应该以函数类型为准)为准当函数中没有return语句时,返回的是一个不确定的值三、判断分析题(如正确选√;如错误选Х。每小题1分,共10分)1、使用typedef 可以自定义一种新的数据类型。 (X)2、结构(struct)和联合(uion)类型实质上是相同的。 (X)3、可以用顺序、分支、循环三种结构构造任何算法。 (√)4、如有 int a=2,b=4,c=8 ;则表达式((a>b) && c>a) ||(c>b)的值为真。(√)5、求n!既可以用递归的方式,也可以用递推的方式。 (√)6、在C语言中,程序 main(){int ptr ;*ptr=100 ;printf("%d",*ptr) ;}是正确的。(X)7、C语言的编译系统对宏命令的处理是在源程序编译阶段进行的。 (X)8、C语言中的输入输出操作是通过专门的输入输出语句实现的。 (X)9、C语言可以处理的文件类型是文本文件和二进制文件。 (√ )10、若定义 int**p;则程序中调用*p时,它代表p的地址。(X)四、填空题。(每空2分,共20分)标准文档实用文案1、构成递归的两个组成部分是递归方式和①递归结束条件。2、ANSIC提供了一个测试文件是否在结尾的状态函数feof(pf),当文件结束时feof函数的值为②非零整数。3、下面是输出链表head的函数print。#include<stdio.h>structstud{longnum;floatscore;structstud*next;};voidprint(structstud*head){structstud*p;p=head;if(head!=NULL)do{printf("%ld%5.1f\n",p->num,p->score);p=p->next________;}while(p!=NULL);}4、下面函数能找出字串 s所包含的子串sub第1次出现的位置,请完善此程序填空。search(s,sub)标准文档实用文案_④char*s,*sub;__ ___{inti,j,k;for(i=0;s[i]!= ’\0’;i++){ for(j=i,k=0;_ ⑤ s[j]!='\0'&&sub[k]!='\0' _&&s[j]==sub[k];j++,k++);if(sub[k]== ’\0’)return(i);}return(-1);}5、算满足不等式 1+1/2+1/3+1/4+ ⋯..+1/n>limit 所需调和级数的项数.其中limit 是提出的要满足的要求,而所求的是项数 n,请完善此程序填空。#include<stdio.h>main(){inttermcount=0;floatsum,limit;sum=0.0;printf(“limit=?”);scanf(“%f”,&limit);do{termcount+=1;sum+=1.0/termcount;标准文档实用文案}while(_⑥_sum<limit ____);printf(“n=%d\tsum=%f\n ”,termcount,sum);}6、有已排好序(升序)的字符串 a,下面的程序是将字符串 s中的每个字符按升 序的规律插入到a中。请完善程序。#include<stdio.h>#include<string.h>voidmain(){chara[20]="abcdefwxy";chars[]="english";inti,j,k;for(k=0;s[k]!='\0';k++){j=0;while(s[k]>=a[ j]&&a[j]!='\0')j++;for(i=strlen(a);i>=j;i--)_⑦_a[i]=a[i-1] ________;a[j]=s[k];}puts(a);}7、函数fac的作用是用来求整数 n1和整数n2的最大公约数,并返回该值,请标准文档实用文案完善程序。intfac(intn1,intn2){intt,x,y;if(n1>n2){t=n1;n1=n2;n2=t;}x=n1;y=n2;while(_⑧_y____){t=x%y;x=y;y=t;}return(x);}8、以下函数的功能是删除字符串 s中的所有数字字符。请填空。vioddele(char*s){intn=0,i;for(i=0;s[i];i++)if(⑨s[i]>=’0’&&s[i]>= ’9’ )s[n++]=s[i];s[n]= ⑩‘\0’ ;}五、阅读程序,写出运行结果。(每小题4分,共20分)1、下列程序执行后其输出结果是:#include<stdio.h>fun3(intx)标准文档实用文案{staticinta=3;a+=x;return(a);}voidmain(){intk=2,n;n=fun3(k);n+=fun3(k);printf("%d\n",n);}程序的运行结果为:(5+7)=122、下列程序执行后其输出结果是:#include<stdio.h>unionee{inta;intb;}*p,s[4];voidmain(){intn=1,i;for(i=0;i<4;i++){s[i].a=n;标准文档实用文案s[i].b=s[i].a+1;n+=2;}p=&s[0];printf("%d,",p->a);printf("%d",++p->a);}程序的运行结果为:(共用体)2,33、下列程序执行后其输出结果是:#include<stdio.h>voidfun(intn,int*s){intf1,f2=1;if(n==1)*s=1;else{fun(n-1,&f1);*s=f1+f2;}}voidmain(){intx;fun(6,&x);标准文档实用文案printf("%d\n",x);}程序的运行结果为:(递归调用)64、写出下面程序执行的结果:int*fun(int*p){staticinta=0;returnp+a++;}main(){ int *fun(int*p);inta[10]={0,1,2,3,4,5,6,7,8},*p;p=fun(a+1);p=fun(p+2);printf(“%d”,*p);}程序的运行结果为:45、写出下面程序执行的结果:#include<stdio.h>main(){charc;inti,k;标准文档实用文案k=0;for(i=0;i<4;i++)

温馨提示

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

评论

0/150

提交评论