《C语言程序设计》笔试试题(2)_第1页
《C语言程序设计》笔试试题(2)_第2页
《C语言程序设计》笔试试题(2)_第3页
《C语言程序设计》笔试试题(2)_第4页
《C语言程序设计》笔试试题(2)_第5页
全文预览已结束

下载本文档

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

文档简介

1、C语言程序设计笔试试题(2)一、单项选择题(每小题2分,共20分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项写在答题纸相应位置上。1、 以下叙述中正确的是( )。  A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前 D)所有被调用的函数一定要在调用之前进行定义 2、以下列出的用户标识符中全部合法的一组是( )。A)A3 2show show_x B)m*2 int kill.c C)Int spring kv300 D)void a_x h-1003、

2、若有定义: int a=7, b=8, x=a+, y= -b; ,则x和y的值分别为( )。A)7 7 B)7 8 C)8 7 D)8 84、C语言中,下列叙述正确的是( )。A) do-while语句构成的循环只能用break语句才能退出B) 不能使用do-while语句构成循环 C) do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D) do-while语句构成的循环,当while语句中的表达式值为零时结束循环5、若有定义:int x=2, y=1;则下面程序段执行后的输出结果是( )。switch (x) case 1

3、: y+; break;case 2: y+; break;default: y+;printf("%dn", y);A)1 B)2 C)3 D)46、以下能正确定义一维数组的选项是( )。 A)int num; B)int num =1,2,3; C)int num0:100; D)int N=100; int numN;7、 以下不能正确定义二维数组的选项是( )。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;8、若有定义:int i,j,*p=&i,*q=&j;则与i

4、=j;等价的语句是( )。A) i=&p; B) i=*p; C) *p=*q; D) i=*p;9、C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。A)由用户指定的传递方式B)单向值传递C)由实参传给形参,再由形参传回给实参 D)地址传递10、下面关于局部变量的作用域及生存期的叙述中,正确的是( )。A)auto类局部变量与static类局部变量的作用域和生存期相同B)auto类局部变量与static类局部变量的作用域和生存期都不相同C)auto类局部变量与static类局部变量的作用域不同,生存期相同D)auto类局部变量与static类局部变量的作用域相同,

5、生存期不同二、填空题(每小题2分,共20分)1、若有定义int a=2,b3;则表达式(float)(a+b)/2的值为【1】 。2、若有定义:char a='A', b='C' 则执行语句if(a<b) a=b+1; 后,变量a中的值是字符【2】 。3、在C程序中,如果定义函数时缺省了函数返回值的类型名,则为【3】 类型。 4、用C语言编写的源程序经编译连接后生成的可执行文件的扩展名是【4】 。5、假设变量已定义,则下面程序段执行后t的值为【】 。for (i=1, t=0; i<5; i+) for (j=1; j<6; j+) t+;6、

6、若有定义和语句:int a10=19,23,44,17,37,28,49,36,*p; p=a;则使指针p指向值为36的数组元素的表达式是【】。 7、以下程序执行后的输出结果是【】 。#include <stdio.h>void main( ) char s="abcdef"s3= '0' printf("%sn",s);8、整数x能被整数k整除,用C语言表达式表示是: 【8】 。9、以下程序段执行后的输出结果是【9】 。 #define A 10 #define B (A+2) printf("%d",

7、B*2);10、如果定义静态局部变量时不赋初值,则系统默认为【10】 。三、程序填空题(2个小题,共20分)请勿改动主函数main和其它函数中的任何内容,仅在程序中的横线上填入所编写的若干表达式或语句。1、请补充函数isprime (),该函数的功能是:用来判断自变量n是否为素数,若是素数函数返回1,否则返回0。#include <stdio.h>#include<math.h>int isprime (int n) int 【1】;for(i=2;i<=sqrt(n);i+)if(n%i【2】0) return 【3】;return 1;void main( )

8、 int x;printf("enter a integer number: ");scanf("%d",&x);if(isprime(x) printf("%d is primen",x);else printf("%d is not primen",x);2、下列程序的功能是:调用函数交换两个整数。请将程序补充完整。#include <stdio.h>void swap(int *x, int 【1】) int t; t=*x ; *x=*y; *y= 【2】;void main(void)

9、 int a,b; scanf("%d%d",&a,&b); swap(【3】, &b); printf("a=%d,b=%d",a,b);四、程序改错题(共10分)下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如:输入"Ab,cD",则输出"ab,cd"。请改正函数fun()中的错误(错误在注释的下一行),使它能得出正确的结果。#include <stdio.h>#include <string.h>/* fo

10、und1*/char *fun(char tt)int i; for(i=0;tti;i+) if('A'<=tti)&&(tti <='Z')/* found2*/ tti= tti-32; /* found3*/ return(tt)void main()int i; char tt81;gets(tt); printf("nThe result string is: n%s",fun(tt);五、阅读程序题(4个小题,共20分)1、阅读并分析下列程序。#include <stdio.h>void

11、main()int n = 0;char c;while(c=getchar( ) != 'n')if (c>='0' && c<='9') n = n * 10 + c - '0'printf("value=%dn", n); 1) if (c>='0' && c<='9')的作用是 。2)程序运行时输入为:abc2009def<回车> 时,则程序的输出结果是 。2、阅读并分析下列程序。#include<

12、stdio.h> void main(void) int a10=1,9,18,24,-14,2,6, -16,4, 5 ; int sum=0,i; for(i=0;i<10;i+) sum=sum+ai; printf("%dn",sum ); 1) 在主函数中for循环的作用是 。2) 程序的执行结果是 。3、阅读并分析下列程序。#include<stdio.h>void main(void) int a44, i,j; for(i=0;i<4;i+) for(j=0;j<4;j+) *(*(a+i)+j) = i+j; for(i=0;i<4;i+) for(j=0;j<4;j+) if(i=j) printf("%d ",*(*(a+i)+j); 1) 在主函数中第一个for循环执行内循环体的次数为 。2) 程序的执行结果是 。4、阅读并分析下列程序。#include <stdio.h>int f( ) static int c=0

温馨提示

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

评论

0/150

提交评论