收藏 分销(赏)

2014年C语言试题.doc

上传人:二*** 文档编号:4453158 上传时间:2024-09-23 格式:DOC 页数:12 大小:62KB 下载积分:5 金币
下载 相关 举报
2014年C语言试题.doc_第1页
第1页 / 共12页
本文档共12页,全文阅读请下载到手机保存,查看更方便
资源描述
一、选择题(40*1) 1 对用C语言编写的代码程序,以下叙述中正确的是(B)               A、可立即执行                               B、是一个源程序                            C、经过编译即可执行                           D、经过编译解释才能执行 2 以下选项中正确的实型常量是(D)               A、0                    B、 3.  1415              C、0.03*102                D、.32 3 C语言中不合法的字符串常量是(B)               A、"\121 "           B、'y= '               C、"\n\n "                  D、"ABCD\x6d " 4 C语言中运算必须是整型的运算符是(B)               A、/                     B、%                  C、*                           D、+ 5 C语言中的简单数据类型有(C)               A、整型、实型、逻辑型         B、整型、字符型、逻辑型               C、整型、实型、字符型         D、整型、实型、逻辑型、字符型 6 以下选项中不合法的用户标识符是(D)               A、PRINTF          B、file          C、Main              D、wb-1 7 以下非法的赋值语句是(C)               A、n=(i=2,++i)     B、j++          C、++(i+1)           D、x=i>0 8 C语言中不合法的常量是(D)               A、'\xff '                     B、'\65 '        C、'& '                D、'\028 ' 9 C语言中,字符(char)型数据在计算机内存中的存储形式是(D)               A、反码                     B、补码        C、EBCDIC码    D、ASCII码 10 以下程序的输出结果是(D)        void main()        { int x=10,y=3;printf("%d\n ",y=x/y);}               A、0                    B、1             C、不确定的值          D、3 11 以下程序段的输出是(A)        int x=496;printf("*%-06d*\n ",x);               A、*496   *        B、*   496*        C、*000496*        D、输出格式不合法 12 若变量已经正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是(D)        A、read(a,b,c);                                       B、scanf("%d%d%d ",a,b,c);        C、scanf("%D%D%D ",&a,&b,&c)             D、scanf("%d%d%d ",&a,&b,&c) 13 以下合法的C语言赋值语句是(D)        A、a=b=58                  B、k=int(a+b);    C、a=58,b=58             D、 - - i; 14 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(A)        A、1                           B、0                    C、2                           D、6 15 以下程序执行后输出结果是(B)        void main()        { int i=10,j=1;printf("%d,%d\n ",i--,++j);}        A、9,2                 B、10,2                C、9,1                 D、10,1 16 设有语句char a= '\172 ';,则变量a(A)        A、包含一个字符             B、包含2个字符              C、包含个字符          D、说明不合法 17 若变量已经正确定义,要将a和b中的数据进行交换,下面不正确的语句是(C)               A、a=a+b,b=a-b,a=a-b;             B、t=a;a=b;b=t               C、a=t;t=b;b=a;                        D、t=b;b=a;a=t; 18 若变量已经正确说明,要求用以下语句给c1赋值字符%,给c2赋值字符#,给a赋值2.0,给b赋值4.0,则正确的输入形式是(B)               scanf("%f%c%f%c ",&a,&c1,&b,&c2);        A、2.0 % 4.0 #           B、2.0%4.0#        C、2  %  4#             D、2 % 4  # 19 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)        A、6.500000         B、7                    C、5.500000         D、6.000000 20 以下程序执行后的输出结果是(D)        void main()        {int i=1,j=1,k=2;if((j++||k++)&& i++) printf("%d,%d,%d\n ",i,j,k);}        A、1,1,2               B、2,2,1               C、2,2,2               D、2,2,3 21 下列运算符中优先级最高的运算符是(A)        A、!                    B、%                  C、 -=                 D、&& 22 运行以下程序后,输出的结果是(A) void main() {      int k=-3;        if(k<=0)               printf("****\n ");        else               printf("&&&&\n "); }        A、****               B、&&&&          C、****&&&&   D、有语法错误不能通过编译 23 以下程序段的输出结果是(B) void main() { char x= 'A ';        x=(x> 'A ' && x< 'Z ')?(x+32):x;   printf("%c\n ",x ); }        A、 a                         B、 A                  C、 Z                  D、 z 24 以下的程序执行后输出的结果是(A) void main() {      int a=5,b=4,c=3,d=2;        if(a>b>c)               printf("%d\n ",d);        else if((c-1>=d)==1)               printf("%d\n ",d+1);        else printf("%d\n ",d+2); }        A、3                           B、2                           C、编译出错                     D、4 25 若执行以下程序时从键盘上输入3和4(输入方式:3  4),则输出的结果是(C) void main() {      int a,b,s;        scanf("%d%d ",&a,&b);        s=a;        if(a<b) s=b;        s*=s;        printf("%d\n ",s); }        A、14                  B、18                   C、16                  D、20 26 设a、b和c都是int变量,且a=3,b=4,c=5,则以下的表达式中,值为0的表达式是(D)        A、a&&b            B、a<=b               C、a||b+c&&b-c          D、 !((a<b)&&!c||1) 27 以下的程序运行结果是(D)        void main()        { int a=2,b=-1,c=2;        if(a<b)        if(b<0) c=0;        else c+=1;        printf("%d\n ",c);        }               A、0                    B、1                    C、3                           D、2 28 以下程序的输出结果是(C) void main() {      int x=1,a=0,b=0;        switch(x)        {        case 0:b++;        case 1:a++;        case 2:a++;b++;        }        printf("a=%d,b=%d\n ",a,b); }        A、a=2,b=2          B、a=1,b=1          C、a=2,b=1          D、a=1,b=0 29 若x是int类型变量,以下程序段的输出结果是(D)        for(x=3;x<6;x++)               printf((x%2)?( "**%d "):( "##%d\n "),x);        A **3                    B ##3                    C ##3            D **3##4          ##4                     **4                     **4##5       **5       **5             ##5 30 以下程序的输出结果是(A)        int n=10;        while(n>7)        { n--;        printf("%d ",n);        }        A、987                 B、1098               C、10987                    D、9876 31 以下程序段的输出结果是(C)        int i,j,m=0;        for(i=1;i<=15;i+=4)               for(j=3;j<=19;j+=4){m++;}        printf("%d\n ",m);        A、12                         B、15                   C、20                         D、25 32  以下程序段的输出结果是(C)        int x=3;        do        { printf("%3d ",x-=2);        } while(!(--x));        A、1             B、3 0           C、1 -2         D、死循环 33 以下的程序输出结果为(A) void main() {      int i;        for(i=0;i<3;i++)        switch(i)        { case 1:printf("%d",i);        case 2:printf("%d",i);         default: printf("%d",i);        } }        A、011122            B、012                 C、012020           D、120 34 以下程序的输出结果是(C) # include<stdio.h> void man() {      int i;        for(i=1;i<5;i++)        {if(i%2) putchar('< ');         else continue;        putchar('> ');}        putchar('# '); }        A、<><><>#               B、 ><><><#              C、<><>#            D、><><# 35 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是(B)        A、b=a         B、strcpy(b,a)             C、strcpy(a,b)             D、strcat(b,a) 36 下面的程序输出结果是(A) void main() {      int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;        printf("%d\n",*(p+2)); }        A、3                    B、4                    C、1                    D、2 37 以下对整型数组a的正确说法是(D)        A、int a(10);                                           B、int n=10,a[n];               C、int n;sacnf("%d ",&n);int a[n]         D、#define SIZE 10   int a[SIZE]; 38 以下程序的输出结果是(B)        void main()        {      int i,sum;               for(i=1;i<6;i++)               sum+=i;               printf("%d\n ",sum);        }        A、15                  B、不确定           C、16                  D、0 39 以下程序的输出结果是(A) void main() { int i,x[3][3]={1,2,3,4,5,6,7,8,9};        for(i=0;i<3;i++)               printf("%d, ",x[i][2-i]); }        A、3,5,7               B、1,4,7               C、1,5,9               D、3,6,9 40 若fp是指向某文件的指针,且已经读到文件的末尾,则库函数feof(fp)的返回值是(A)        A、EOF               B、-1                   C、NULL             D、非零值 二、填空题(20*1) 1、C语言中函数的组成部分包括  函数头  和  函数体   。 2、下列程序的功能判断一个输入整数是否是素数,若为素数输出1,否则输出0。 void main() {      int i,x,y=1;        scanf("%d",&x);        for(i=2;i<     x/2        ;i++)               if(   x%i==0    ) {y=0;break;}        printf("%d\n",y); } 3、下面的程序功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩。当输入为负数时结束输入,请填空: void main() {      float x,amax,amin;        scanf("%f",&x);        amax=x;amin=x;        while(     x>=0     )        {      if(x>amax)  amax=x;               if(   x<amin     )  amin=x;        }        printf("\namax=%f\namin=%f\n",amax,amin); } 4、以下程序计算公式,请填空 long f(int n) {      int i;long s;        s=1L;        for(i=1;i<=n;i++)  s=     s*i       ;        return s; } void main() {      long s;int k,n;        scanf("%d",&n);        s=0;        for(k=0;k<=n;k++)               s=s+  f(k)    ;        printf("%d\n",s); } 5、下面的函数功能是,根据以下公式返回满足精度eps要求的PI值 double pi(double eps) {      double s=0.0,t=1.0;        int n;        for(     n=1    ;t>eps;n++)        {      s+=t;               t=n*t/(2*n+1);        }        return (2.0*     s      ) } 6、由“/*”和“*/”之间的内容是         它的作用是            。 7、若x为double型变量,请写出运算x=3.2,x++后表达式的值     和变量的值     。 8、复合语句在语法上被认为是        。空语句的形式是    ;    。 9、若定义int a[3][4]={1,2,3,4,5,6,7,8,9};则a[1][3]=  8  a[2][3]=   0   。 10、模块化程序设计的设计原则是                和               。 三、判断题(10*1) 1、在C语言中无论是整数还是实数,只要在允许的范围内都能准确无误的表示(F) 2、正常执行一个名为“C001.c”的源程序后,在当前的目录不会产生C001.dat文件(T) 3、一个算法具有包括“零个或多个输出”在内的5个特性(F) 4、C语言的源程序不必通过编译就可以直接运行(F) 5、由结构化程序的三种基本结构组成的算法可以完成任何复杂的任务(T) 6、在C程序中,函数可能嵌套定义,也可以嵌套调用(F) 7、int i,*p=&i;是正确的C说明(T) 8、因为&&运算和||运算都是双目运算,所以它们优先级相同(F) 9、do-while语句构成的循环不能用其它语句构成的循环来代替(F) 10、数组名是一个常量(F) 四、程序填空题(2*5) 1、求两个非负数的最大公约数和最小公倍数 # include<stdio.h> void main() {        int m,n,r,p,gcd,lcm;        scanf("%d%d ",&m,&n);        if(m<n){p=m,m=n,n=p;}        p=m*n;        r=m%n;        while(             )        {   m=n;n=r;                ;        }        gcd=                     ;        lcm=p/                ;        printf("gcd=%d,lcm=%d\n ",              ); } 2、输出正整数m和n(不包含m、n)之间的所有素数,要求每行输出8个数。 # include<math.h> # include<stdio.h> main() {      int I,m,n,k=0,j;        double s;        printf("请输入正整数m,n(m<n):");        scanf("%d,%d ",&m,&n);        for(i=m+1;i<n;i++)        {               s=               ;               for(          ;j<s;j++)                      if(            ) break;               if(          )               {      printf("%6d ",i);k++;               }               if(            ) printf("\n ");        }        printf("\n\n "); } 五、程序设计(2*10) 1 编写函数f(int n),用于计算如下公式的值:y=1/2+1/4+1/5+.....+1/2n # include<stdio.h> double fun(int n) /******************** Begin  *****************/       /********************  End  *****************/ void main() {        int n;        printf("Enter n: ");        scanf("%d",&n);        printf("\nThe result is %lf\n",fun(n)); } 2 编一个函数void convert(int a[][3]),求3*3矩阵的转置矩阵 # include<stdio.h> # define N 3 void convert(int a[][N]) void main() {        int i,j,array[N][N];        for(i=0;i<N;i++)               for(j=0;j<N;j++)                      array[i][j]=i*3+j+1;        printf("转置前:\n");        for(i=0;i<N;i++)        {      for(j=0;j<N;j++)                      printf("%4d",array[i][j]);               printf("\n");                }        convert(array);        printf("转置后:\n");        for(i=0;i<N;i++)        {      for(j=0;j<N;j++)                      printf("%4d",array[i][j]);               printf("\n");                } } void convert(int a[][N]) { /****************  Begin ******************/     /****************  End  ******************/   }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服