欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《C程序设计》练习题.doc

    • 资源ID:52738857       资源大小:120KB        全文页数:43页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《C程序设计》练习题.doc

    C语言程序设计试题一一、填空题1、C语言中基本的数据类型有:    整型   、   字符型    、    浮点型      。2、C语言中普通整型变量的类型说明符为   int    ,在内存中占   2 字节,有符号普通整型的数据范围是    -32768-32767              。3、整数-35在机内的补码表示为                  。 4、执行下列语句int a=8;  a += a -= a * a; 后,a的值是  -112    。5、有如下语句:char  A ="I am a student" 该字符串的长度是    ,A3=    。6、符号"a"和a的区别是                                            。7、所谓"指针"就是                                     。   "&"运算符的作用是                           。   "*"运算符的作用是                            。8、有如下输入语句:scanf( "a =% d , b =% d , c =% d", & a , & b , & c );为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是   1,3,2          。二、选择题1、设整型变量a为5,使b不为2的表达式是(  C   )。      A. b = a/2    B. b = 6-(- -a)    C. b=a%2    D. b= a>3 ? 2 : 12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(  C   )组成配对关系。A. 缩排位置相同的if                   B. 在其之前未配对的ifC. 在其之前未配对的最近的if           D.同一行上的if3、以下程序的输出结果是(     D )。   int x=10,y=10;  printf("%d  %dn",x-,-y);       A. 10  10      B. 9   9      C. 9   10     D. 10   94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(     )。AP+i*2       B.  P+(i-1)*2      C.  P+(i-1)       D.  P+i5、选出下列标识符中不是合法的标识符的是(  D   )。      A. hot_do      B. cat1       C. _pri         D. 2ab6、以下程序的输出结果是(  A   )。   int a=5;float x=3.14;a*=x*(E - A);printf("%fn",(float)a);      A. 62.     B. 62.      C. 63.     D. 627、设有说明double(*p1)N;其中标识符p1是(     )。    A.  N个指向double型变量的指针。    B.   指向N个double型变量的函数指针。    C.  一个指向由N个double型元素组成的一维数组的指针。    D.  具有N个指针元素的一维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char *func(int x , int y); 它是(     )。       A. 对函数func的定义。        B. 对函数func的调用。       C对函数func的原型说明。    D. 不合法的。9、以下程序的输出结果是(     )。    char str15="hello!"printf("%dn",strlen(str);       A. 15         B. 14          C. 7           D. 610、分析以下程序的输出结果是(     )。main()int  a=5,b=-1,c;c=adds(a,b);printf("%d",c);c=adds(a,b); printf("%dn",c);    int adds(int x,int y)static int m=0,n=3;n*=+m;m=n%x+y+;return(m);            A. 2,3         B. 2,2         C. 3,2          D. 2,411、下列描述中不正确的是(  C   )。A. 字符型数组中可能存放字符串。B. 可以对字符型数组进行整体输入、输出。C. 可以对整型数组进行整体输入、输出。D. 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值。12、以下程序的输出结果是(     )。#define  f(x)   x*xmain()int a=6,b=2,c;  c=f(a)/f(b); printf("%dn",c); A.  9         B.  6          C.  36           D.  1813、设有如下定义: int x=10,y=3,z;则语句printf("%dn",z=(x%y,x/y); 的输出结果是(   D  )。A. 1      B. 0       C. 4        D. 314、定义如下变量和数组: int i ; int x33=1,2,3,4,5,6,7,8,9;则语句for(i=0;i<3;i+)  printf("%d  ",xi2-i); 的输出结果是(     )。A. 1  5  9           B. 1  4  7       C. 3  5  7          D. 3  6  9 15、以下对二维数组a进行正确初始化的是(     )A. int a23=1,2,3,4,5,6;          B. int a 3=1,2,3,4,5,6;C. int a2 =1,2,3,4,5,6;                D. int a2 =1,2,3,4;16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(   D  )。int x;scanf("%d",&x);if(x+>5)   printf("%d",x);else   printf("%dn",x - -);A. 7和5      B. 6和3      C. 7和4       D. 6和417、设有如下定义: char * aa2="abcd","ABCD" 则以下说法中正确的是(    )。A) aa数组成元素的值分别是"abcd"和ABCD"B) aa是指针变量,它指向含有两个数组元素的字符型一维数组;C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址;D) aa数组的两个元素中各自存放了字符'a'和'A'的地址。18、下列程序的输出结果是(     )。char *p1="abcd", *p2="ABCD", str50="xyz"strcpy(str+2,strcat(p1+2,p2+1);printf("%s",str);A. xyabcAB        B. abcABz       C. ABabcz       D. xycdBCD19、下列程序的输出结果是(     )。int a5=2,4,6,8,10,*P,* *k;p=a;  k=&p;printf("%d",*(p+);printf("%dn",* *k);A. 4 4          B. 2 2        C. 2 4         D. 4 620、不能把字符串:Hello!赋给数组b的语句是(     )。A. char b10='H','e','l','l','o','!'            B. char b10;  b="Hello!"C. char b10;  strcpy(b,"Hello!");          D. char b10="Hello!"三、读程序题1、float f=3.;printf("%f,%5.4f,%3.3f",f,f,f);  则程序的输出结果是          。2、int x=6, y=7;      printf("%d,",x+);      printf("%dn",+y);        程序的输出结果是    6 8   。    3、a=3;     a+=(a<1)?a:1;     printf("%d",a);        结果是    4     。4、for (a=1,b=1;a<=100;a+) if (b>=20)   break;If (b%3=1)b+=3;  continue;b-=5;                      程序的输出结果a的值为     8   。5、 int y=1, x, *p, a =2,4,6,8,10;p=&a1;for(x=0;x<3;x+)y + = * (p + x);printf("%dn",y);  程序的输出结果y的值是      。四、程序填空题1、从键盘上输入10个数,求其平均值。   main()   int i;float f,sum;for(i=1,sum=0.0;i<11;i+)                     ;                                 printf("average=%fn",sum/10);             2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。  #include <stdio.h> main()  FILE *fp;char c;fp=                    doc=getchar();fputs(c,fp); while(c!=EOF);                            3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.main()            float x,amax,amin;scanf("%f",&x);amax=x;   amin=x;while(            ) if(x>amax)    amax=x;if(          )     amin=x;scanf("%f",&x);                     printf("namax=%fnamin=%fn",amax,amin);  五、编程题1. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。2输出19002000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)3请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。4有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。C语言程序设计试题二一、填空题1、C语言中普通整型变量的类型说明符为       ,在内存中占     字节,有符号普通整型的数据范围是     。2、C语言中基本的数据类型有:        、       、        。3、设整型变量n的值为2,执行语句"n+=n-=n*n"后,n的值是       。4、共用体和结构体的定义格式类似,不同点是                             。5、有如下输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是                        。6、有语句:char  A ="I am a student"该字符串的长度是      ,A3=     。7、符号"a"和a的区别                                               。8、下列程序的输出结果是           。int ast(int x,int y,int * cp,int * dp) *cp=x+y;  *dp=x-y; main() int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d);    二、选择题1、以下选项中属于C语言的数据类型是(  B  )。A. 复合型        B. 双精度型         C. 逻辑型        D. 集合型2、以下说法中正确的是( A )。A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是(     )。   A. hot_do      B. cat1       C. _pri         D. 2ab4、下列描述中不正确的是(     )。A.   A、字符型数组中可能存放字符串。B.    B、可以对字符型数组进行整体输入、输出。C.    C、可以对整型数组进行整体输入、输出。D.    D、 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值。5、若已定义:int a9, *p=a;并在以后的语句中未改变p的值,不能表示a1地址的表达式为(     )。A. p+1          B. a+1          C. a+        D. +p6、设有如下定义: int x=10,y=3,z; 则语句printf("%dn",z=(x%y,x/y); 的输出结果是(     )。A. 1      B. 0       C. 4        D. 37、定义如下变量和数组: int i, x33=1,2,3,4,5,6,7,8,9;则下面语句for(i=0;i<3;i+) printf("%d",xi2-i); 的输出结果是(     )A. 1  5  9        B. 1  4  7        C. 3  5  7          D. 3  6  9 8、读出以下语句的输出结果是(      )。    int x=10,y=10;printf("%d  %dn",x-,-y);   A. 10  10 B. 9   9 C. 9   10 D. 10  99、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(     )。if(x+>5)  printf("%d",x);else     printf("%dn",x - -);A. 7和5 B. 6和3 C. 7和4 D. 6和410、设有如下定义:char *aa2="abcd","ABCD"则以下说法中正确的是(     )。A) aa数组成元素的值分别是"abcd"和ABCD"B) aa是指针变量,它指向含有两个数组元素的字符型一维数组C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D) aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是(  D )。int a=-1,b=4,k;k=(+ +a<0)&&!(b - -<=0);printf("%d,%d,%dn",k,a,b);A. 1,0,4       B. 1,0,3       C. 0,0,3      D. 0,0,412、下列程序的输出结果是(     )。char  *p1="abcd",  *p2="ABCD",  str50="xyz"strcpy(str+2,strcat(p1+2,p2+1);  printf("%s",str);A. xyabcAB        B. abcABz       C. ABabcz       D. xycdBCD13、执行下面的程序后,a的值是(     )。#define SQR(X) X*Xmain( ) int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%dn",a);          A. 10       B. 1       C. 9       D. 014、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(     )。AP+i*2      B.  P+(i-1)*2     C.  P+(i-1)      D.  P+i15、下列程序执行后输出的结果是(     )。int d=1;fun (int p) int d=5;d + =p + +;printf("%d,",d); main( ) int a=3;fun(a);d + = a + +;printf("%dn",d); A. 8, 4      B. 9, 6    C. 9, 4    D. 8, 516、表达式:10!=9的值是(  D  )。A. true     B. 非零值     C. 0      D. 117、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是(     )。A. i= *p;     B. *p=*&j;     C. i=&j;     D. i=* *p;18、不能把字符串:Hello!赋给数组b的语句是(     )。A. char b10='H','e','l','l','o','!'      B. char b10;  b="Hello!"C. char b10;  strcpy(b,"Hello!");          D.char b10="Hello!"19、在C程序中有如下语句:char *func(int x,int y); 它是(     )。   A. 对函数func的定义。        B. 对函数func的调用。  C对函数func的原型说明。    D. 不合法的。20、以下程序的输出结果是(     )。    char str15="hello!"printf("%dn",strlen(str);A. 15         B. 14          C. 7           D. 6三、阅读程序题1、int x=6, y=7;   printf("%d,",x+);  printf("%dn",+y);   程序的输出结果是        。2、float f=3.;printf("%f,%5.4f,%3.3f",f,f,f);则程序的输出结果是                。3、a=3;   a+=(a<1)?a:1;   printf("%d",a);   结果是         。4、main( ) int a5=2,4,6,8,10,*P,* *k;p=a;  k=&p;printf("%d,",*(p+);printf("%dn",* *k);               程序的输出结果是          。5、 main()int a,b;for (a=1, b=1; a<=100; a+) if(b>=20)  break;if(b%3=1) b+=3;  continue; b-=5;                             程序的输出结果a的值为        。四、程序填空题1、求主次对角线之和。   main()   static int a 3=9,7,5,1,2,4,6,8;int I,j,s1=0,s2=0;for(I=0;I<3;I+)   for(j=0;j<3;j+)      if(           )           s1=s1+aIj;       if(           )           s2=s2+aIj;      printf("%dn%dn",s1,s2);2、从键盘上输入10个数,求其平均值。   main()   int i;float f,sum;for(i=1,sum=0.0;i<11;i+)                     ;                         printf("average=%fn",sum/10);     3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#include <stdio.h>main()FILE *fp;char c;fp=                    doc=getchar();fputs(c,fp);while(c!=EOF);                ; ;五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印"not  exist"。3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。C语言程序设计试题三   一单项 选择题  1设int x=1,y=1;表达式(!x+ | y-)的值是_    A0     B 1       C 2     D-12 main( )    int n;     ( n=6*4,n+6),n*2;     printf("n=%dn",n);     此程序的输出结果是_.   A30    B.  24     C.  60      D.  483若有如下定义,则_是对数组元素的正确的引用。   int  a10 , *p ;   p=a ;      A.  *&a10     B.  a11      C.  *(p+10)      D. *p4设整型变量n的值为2,执行语句"n+=n-=n*n;"后,n的值是_   A.  0     B.  4    C.  - 4     D.  25以下不能正确定义二维数组的语句是_      A . int a22=1,2;     B. int a2=1,2,3,4;     C. int a22=1,2,3;      D. int a2=1,2,3,4;6程序段          的功能是将变量 u 、s中的最大值赋给变量t 。       A.  if(u>s) t=u;t=s;       B.  t=u; if(t<s)  t=s;      C.  if(u>s) t=s;else t=u;     D . t=s; if(u<t)  t=u;7下列程序段的输出结果是           。void main( )   int k;for (k=1;k<5;k+  if(k%2!=0)   printf("#");else   printf("*") ;  A. #*#*      B . *#*#    C.  #       D. 以上都不对8设变量定义为 int a3=1,4,7,*p=&a2, 则*p的值是      。    A. &a2    B. 4       C. 7       D. 19能正确表示a和b同时为正或同时为负的逻辑表达式是_。A(a>=0|b>=0)&&(a<0 |b<0)      B(a>=0 && b>=0)&&(a<0 && b<0)C(a+b>0) &&(a+b<=0)            D a*b>010C语言中,合法的字符型常数是_。AA        B"A"        C 65        D A11设有数组定义:char array="China" 则数组所占的空间是_。A4个字节      B5个字节      C6个字节        D7个字节12若变量c为char类型,能正确判断出c为小写字母的表达式是_Aa<=c<=z            B (c>=a) | (c<=z)C (a<=c) and (z>=c)      D (c>=a) && (c<=z)13设有定义:long x=-L; 则以下能够正确输出变量x值的语句是_。Aprintf("x=%dn",x)          Bprintf("x=%ldn",x)Cprintf("x=%8dln",x)        Dprintf("x=%LDn",x);14下列关于指针定义的描述,_是错误的。    A指针是一种变量,该变量用来存放某个变量的地址值的。  B指针变量的类型与它所指向的变量类型一致。  C指针变量的命名规则与标识符相同。  D在定义指针时,标识符前的"*"号表示后面的指针变量所指向的内容。15已知:int x;  int y10; 下列_是合法的。A&x      B&(x+3)      C&5       D &y16指出下面正确的输入语句_。   A.  scanf("a=b=%d",&a,&b) ;      B. scanf("%d,%d",&a,&b) ;   C.  scanf("%c",c) ;              D. scanf("% f%dn",&f) ;17C语言中以追加方式打开一个文件应选择_参数。   A"r"                  B"w"   C"rb"                 D"a"18Break语句的正确的用法是(    )。     A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。 B. 在多重循环中,只能退出最靠近的那一层循环语句。    C. 跳出多重循环。     D. 只能修改控制变量。19. 为表示关系xyz,应使用C语言表达式  A(x>=y)&&(y>=z)    B. (x>=y) AND (y>=z)  C(x>=y>=z)           D. (x>=z)&(y>=z)20以下可以作为C语言合法整数的是_。  A1010B    B. 0368      C0Xffa         D. x2a221在函数中默认存储类型说明符的变量应该是_存储类型。  A内部静态    B. 外部      C自动          D. 寄存器二判断题 1.  C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 (  X  )2 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。(  X  )3 在 C 程序中,  APH 和 aph 代表不同的变量。(   V   )4 表达式 0195 是一个八进制整数。(   X   )5 表达式 _ya是不合法的C语言标识符。(  X  )6 C程序总是从main( ) 函数的第一条语句开始执行的。( V )7 A-=7等价于a=a-7。  (   X  )8 利用fclose函数关闭已打开的文件。(   V   )9 数组名可以作为参数进行传递。(   V   )10 执行printf("%x",12345);, 输出 12345 。(  x  )三、填空1C语言的预处理语句以_开头。2表达式7+8>2 && 25 %5的结果是_0_。3下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。   int  n=0, ch;   ch=getchar( );   while( _ch!=n_ )  if ( _ch>=0&& ch<=9_ )  n+;    ch=getchar( );                  4C语言中putchar(c) 函数的功能是_输出一个字符_。5int *p 的含义是_定义整型指针变量p_。6定义fp为文件型指针变量的定义方法为_FILE *fp;_。7数组 int  a34;共定义了_12_个数组元素。四、读出程序。1. 改正下列程序中不正确的语句。main()   int a=8 , b=1;a=a+b;b=a*b;printf("%d, %d",a,b);    2写出下列程序的运行结果。  fun(int a, int b)    if(a>b) return (a);   else  return (b);  main() int x=3,y=8,z=6,r;    r=fun(fun(x,y),2*z);    printf("%dn",r);  3. 改正下列程序中不正确的语句。   main()    int n ;     float s=1.0;      for(n=10;n>1;n- -)        s=s+1/n;     printf("%6.1fn",s);  4. 写出下列程序的运行结果。    main()    int n;     For(n=3; n<=10; n+)       if(n%5= =0) break;         Printf("%d",n);              5写出下列程序的运行结果。   #include "stdio.h"  main()  int a=1,2,3,-4,5;     int m,n,*p;    p=&a0; p=&a0;    m=*(p+2);    n=*(p+4);    printf("%d  %d  %d  ",*p,m,n); 五编程序1编程计算下列表达式:s=1!+2!+3!+4!+10!2从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+(共n项)的和。例a=2, n=4, 则sum=2+22+222+2222。3求3X3矩阵的主对角线元素之和。4从键盘输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。5从键盘输入若干个字符存入文件write.txt中,遇到回车键输入结束。(用"n"表示回车键)C语言程序设计试题四一单项选择题  1运算符_的优先级最

    注意事项

    本文(《C程序设计》练习题.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开