收藏 分享(赏)

c语言模拟考卷(09[1].6已选考).doc

上传人:公务员考试助手 文档编号:21763656 上传时间:2024-04-23 格式:DOC 页数:9 大小:55.50KB
下载 相关 举报
c语言模拟考卷(09[1].6已选考).doc_第1页
第1页 / 共9页
c语言模拟考卷(09[1].6已选考).doc_第2页
第2页 / 共9页
c语言模拟考卷(09[1].6已选考).doc_第3页
第3页 / 共9页
c语言模拟考卷(09[1].6已选考).doc_第4页
第4页 / 共9页
c语言模拟考卷(09[1].6已选考).doc_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、学 院 _系_班 级_学 号_姓 名_.装.订.线扬州大学试题纸( 0 0 学年 第 二 学期) 信息工程 学院 班(年)级课程 C语言程序设计模拟试卷 题目一二三四五总分得分阅卷人得分阅卷人审核人一、单项选择题(20分,每题1分)1下列表达式中,不能正确表达代数式含义的C语言表达式是( )。Ax/a/b*y*2 2*x*y/a/b2*x*y/a*bx*y/b/a*22若s是int型变量,则表达式s%2+(s-1)%2的值为( )A0 1 1 23若调用一个函数,且此函数中没有return语句,则表示该函数( )。A没有返回值 B返回若干个系统默认值 C返回一个用户所希望的函数值 D返回一个不

2、确定的值4执行下列程序段后的输出结果是( )。 char str =“tbcLanguagen0g”; printf(%dn, strlen(str); A.12 B.13C.14 D.165 以下程序的输出结果是( )。 main() int x=1,y=2,z=3; x=y-100) break; B. for( ; ; );C. int k=0; do +k; while(k=0);D. int s=6; while(s); -s;7下面能使i的运行结果为4的表达式语句是( )。Aint i=0,j=0; (i=3,(j+)+i); int i=1,j=0; j=i=(i=3)*2);

3、int i=0,j=1; (j= =1)?(i=1):(i=3); int i=1,j=1; i+=j+=2;8若有以下宏定义: #define N 2 #define Y(n) (N+1)*n) 则执行语句“z=2*(N+Y(5);”后的结果为( )。A语句有错误 z=34 z=70 z无定值9下列程序是求1到100的累加和,其中有3个程序段能完成规定功能,有1个所完成的功能与其它程序不同,它是( )。 As=0,i=0; while (i=100) s+=i+; Bs=0,i=1; while(i+100) s+=i; Cs=0,i=0; while(i100) s+=+i; Ds=0,i

4、=0; while(+i=100) s+=i; 10凡在函数中未指定存储类别的变量,其隐含的存储类别是( )。 A自动(auto) 静态(static) 外部(extern) 寄存器(register)11已有定义int k=2;int *p1,*p2;且p1和p2均已指向变量k,下面不能正确执行的赋值语句是( )。 Ak=*p1+*p2 p2=k; p1=p2; k=*p1*p2;12若有以下定义,则对a数组元素地址的正确引用是( )。 int a5,*p=a;Ap+5 *a+1 &a+1 &a013若有以下定义和赋值语句,则对b数组的第i行第j 列(假设i,j已正确说明并赋值)元素值的非法

5、引用是( )。 int b23=0,(*p)3; p=b; A*(*(p+i)+j) *(pi+j) *(p+i)+j (*(p+i)j14设有说明“int a44,(*p)4=a;”,以下与数组元素a33不等价表示的是( )。 A*(a3+3) *(*(a+3)+3) *(*(p+3)+3) (*(*(a+3)+3)15若有以下定义,则数值不为3的表达式是( )。int x10=0,1,2,3,4,5,6,7,8,9,*p1;Ax3 p1=x+3,*p1+ p1=x+2,*(p1+) p1=x+2,*+p116以下程序的输出结果是( )。#include #include main() ch

6、ar *s1=”AbDeG”,*s2=”AbdEg”; s1+=2,s2+=2; printf(“%dn”,strcmp(s1,s2);A正数 负数 零 不确定值17已有定义int (*p)( );指针p可以( )。 A代表函数的返回值 指向函数的入口地址 表示函数的类型 表示函数返回值的类型18以下程序的运行结果是( )。 #include main( ) struct date int year,month,day;today;printf(“%dn”,sizeof(struct date);A6 8 10 1219设有说明:struct char name15,sex;int age;

7、float score;stu,*p=&stu;以下不能正确输入结构体成员值的是( )。Ascanf(“%c”,&p-sex); scanf(“%s”,stu.name);scanf(“%d”,&stu.age); scanf(“%f”, p-score);20若有以下声明和语句: int t33,*pt3,k; for(k=0;k3;k+) ptk=&tk0; 则表达式*(*(pt+1)+2)所引用的是 ( )。 A. t20 B. &t20 C. t12 D. &t12得分阅卷人审核人二、基本概念题(10分,每题1分)1C语言提供了四种基本的数据类型,它们是整型、实型、字符型和 。2若定义

8、了int x;则将x强制转换成双精度类型应该写成 。3表达式8.0*(1/2)的值为 。 4C语言规定,在一个源程序中,main函数的位置 。5C语言中的标识符只能由字母、数字和下划线字符组成,且第一个字符必须是 。6若所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是 。7若二维数组a有m列,则计算任一元素aij在数组中位置的公式是 (假设s00位于数组的第一个位置上)。8在C语言中,&运算符作为单目运算符时表示的是 运算。9若要是下列程序段中指针变量p指向一个存储整型数据的存储单元,则应填入 。 int *p; p= malloc(sizeof(int);10函数调用strc

9、at(strcpy(str1,str2),str3) 的功能是: 。得分阅卷人审核人三、写出程序运行结果(20分,每题4分)1【程序】main( )int x =0,1,2,3,4,5,6,7,8,9;int s=0, i, *p;p=&x0;for (i=0; i=9; i+=2) s+=*(p+i);printf(“%dn”, s);2【程序】#include #include void fun(char *w,int m) char s,*p1,*p2; p1=w; p2=w+m-1; while(p1p2) s=*p1+; *p1=*p2-; *p2=s;main( ) static

10、char a =”GFEDCBA”; fun(a,strlen(a); puts(a); 3假设运行以下程序时,从键盘输入的是:How are youGood morningHello world【程序】#include stdio.h#include string.hvoid main() int i; char s80,str380; for(i=0;i3;i+) gets(stri); strcpy(s,str0); for(i=1;i3;i+) if(strlen(s)strlen(stri) strcpy(s,stri); printf(%s %d,s,strlen(s); 4【程序

11、】#include void num( ) extern int x,y; int a=15,b=10; x=a-b; y=a+b; int x,y;main( ) int a=7,b=5; x=a+b; y=a-b; num( ); printf(“%4d%4dn”,x,y);5. 【程序】 运行下面的程序,假设从键盘上输入值为3。#include stdio.hmain() int j,k,n,temp; int a66; scanf(%d,&n); for(k=0;kn;k+) for(j=0;jn;j+) akj=k*n+j; for(k=0;kn;k+)for(j=0;jn/2;j+

12、) temp=an-j-1k; an-j-1k=akj; akj=temp; for(k=0;kn;k+) for(j=0;j999) (2) ; a=n/100; b= (3) ; c=n%10; if(!(a-b)*(b-c)*(c-a) printf(“n%d,%d”,n,k); 2下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0。main( ) int i, x, y = 1; scanf(“%d”, (4) ); for(i = 2; i= 0; -i) d = ci; printf(“%c”, b (9) ); printf(“n”); 4以下程序可分别求出

13、方阵a中两个对角线上元素之和。#define N 6main( ) int aNN,i,j,k,pr1,pr2; for(i=0;iN;i+) for(j=0;jN;j+) scanf(“%d”,*(a+i)+j); pr1=pr2=0; for(i=0;iN;i+) pr1= (10) +(*(*(a+i)+i); k= (11) ; pr2= (12) +*(*(a+i)+k); printf(“pr1=%d,pr2=%dn”,pr1,pr2);得分阅卷人审核人四、编程(共38分)1求下列序列之值1+1/(1*2)+1/(2*3)+1/(3*4)+1/(n*(n+1)的值。要求输入n的值,输出序列之值。2定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数。然后按顺序每5个数求出一个平均值,放在b数组中并输出。3.某班30名同学130,考了5门课程15,要求编程输入该班所有考试成绩保存a316数组中,然后求出每门课程的平均成绩。 4编程sum=1!+2!+3!+10!之值。要求:(1)使用函数调用技术,将求n!之值编写为fac(n)函数。(2)通过主函数调用fac函数实现题意。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报