c语言模拟考卷_第1页
c语言模拟考卷_第2页
c语言模拟考卷_第3页
c语言模拟考卷_第4页
c语言模拟考卷_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、扬州大学试题纸(0 0学年第二学期)信息工程学院 班(年)级课程C语言程序设计模拟试卷题目一一二四五总分得分阅卷人得分阅卷人审核人1.下列表达式中,不能正确表达代数式、单项选择题(20分,每题1分)”含义的C语言表达式是( abA.2.若A.x/a/b*y*2B . 2*x*y/a/bC . 2*x*y/a*bD. x*y/b/a*2s是int型变量,则表达式 s%2+(s-1)%2的值为(C. - 1D. 23.若调用一个函数,且此函数中没有return语句,则表示该函数(A.没有返回值B.返回若干个系统默认值C.返回一个用户所希望的函数值4.执行下列程序段后的输出结果是char str =

2、 "printf("%dn", strlen(str);A.12B.135.以下程序的输出结果是(main()int x=1,y=2,z=3;x=y-<=x|x+y !=z ;printf( " %d,%d” ,x,y);0g” ;C.14D.返回一个不确定的值D.16A.0,1B.0,2C.1,1D.1,2编辑版word6 以下不是死循环的语句是(A. int i=100;while(1) i=i%100+1;if(i>100) break; B. for( ; ; );C. int k=0;do +k; while(k>=0);D.

3、 int s=6;while(s); -s;7 下面能使i 的运行结果为 4 的表达式语句是( ) 。A int i=0,j=0;(i=3,(j+)+i);B . int i=1,j=0;j=i=(i=3)*2);C. int i=0,j=1;(j= =1)?(i=1):(i=3);D. int i=1,j=1;i+=j+=2;8 若有以下宏定义:#define N 2#define Y(n) (N+1)*n)则执行语句“ z=2*(N+Y(5); ”后的结果为( ) 。A.语句有错误B . z=34C . z=70 D. z无定值1 个所完成9 下列程序是求1 到 100 的累加和,其中有3

4、个程序段能完成规定功能,有的功能与其它程序不同,它是( ) 。A s=0,i=0; while (i<=100) s+=i+;B s=0,i=1; while(i+<100) s+=i;C s=0,i=0; while(i<100) s+=+i;D s=0,i=0; while(+i<=100) s+=i;10凡在函数中未指定存储类别的变量,其隐含的存储类别是() 。A.自动(auto)B .静态(static)C .外部(extern)D.寄存器(register)11.已有定义int k=2;int *p1,*p2;且pl和p2均已指向变量 k,下面不能正确 执行的

5、赋值语句是( ) 。A. k=*p1+*p2B . p2=k;C. p1=p2;D. k=*p1*p2;12 若有以下定义,则对a 数组元素地址的正确引用是( ) 。int a5,*p=a;A. p+5B. *a+1 C. &a+1 D. &a013若有以下定义和赋值语句,则对b 数组的第 i 行第 j 列(假设 i,j 已正确说明并赋值)元素值的非法引用是( ) 。int b23=0,(*p)3; p=b;A. *(*(p+i)+j)B. *(pi+j)C. *(p+i)+jD. (*(p+i)j14.设有说明“int a44,(*p)4=a; ",以下与数组元素a

6、33不等价表示的是 ()。A. *(a3+3)B . *(*(a+3)+3)C. *(*(p+3)+3)D. (*(*(a+3)+3)15若有以下定义,则数值不为3 的表达式是( ) 。int x10=0,1,2,3,4,5,6,7,8,9,*p1;A x3p1=x+3,*p1+C. p1=x+2,*(p1+)D. p1=x+2,*+p116以下程序的输出结果是() 。#include <stdio.h>#include <string.h>main() char *s1= ” AbDeG ” ,*s2=” AbdEg ” ;s1+=2,s2+=2;printf( “

7、%dn ” ,strcmp(s1,s2);A.正数B .负数 C .零 D.不确定值17已有定义int (*p)( ); 指针 p 可以( ) 。A.代表函数的返回值B.指向函数的入口地址编辑版 wordC.表示函数的类型18.以下程序的运行结果是(#include <stdio.h>D.表示函数返回值的类型main() struct date int year,month,day;today;printf( " %dn " ,sizeof(struct date);A. 6B. 819.设有说明:struct char name15,sex;int age;

8、float score;stu,*p=&stu;以下不能正确输入结构体成员值的是A. scanf( " %c”,&tsex);C. scanf(d' ,&stu.age);20.若有以下声明和语句:int t33,*pt3,k;for(k=0;k<3;k+)ptk=&tk0;则表达式*(*(pt+1)+2)所引用的是(A. t20C. t12C. 10D. 12)°B . scanf(S% ,);D . scanf(f% , p->score);)。B. &t20D. &t12得分 阅卷人

9、审核人 二、基本概念题(10分,每题1分)1 . C语言提供了四种基本的数据类型,它们是整型、实型、字符型和。2 .若定义了 int x;则将x强制转换成双精度类型应该写成 3 .表达式8.0*(1/2)的值为。4 . C语言规定,在一个源程序中,main函数的位置 。5 . C语言中的标识符只能由字母、数字和下划线字符组成,且第一个字符必须是。6 .若所有变量均为整型,则表达式 (a=2,b=5,b+,a+b)的值是。7 .若二维数组a有m歹U,则计算任一元素aij在数组中位置的公式是 (假设s00位于数组的第一个位置上)。8 .在C语言中,&运算符作为单目运算符时表示的是 运算。9

10、 .若要是下列程序段中指针变量p指向一个存储整型数据的存储单元,则应填入。int *p;p=malloc(sizeof(int);10 .函数调用 strcat(strcpy(st1str2),str3)的功能是:得分阅卷人审核人三、写出程序运行结果( 分)20分,每题41 .【程序】main()int x尸0,1,2,3,4,5,678,9;int s=0, i, *p;p=&x0;for (i=0; i<=9; i+=2) s+=*(p+i);printf(%dn : s);2 .【程序】#include <stdio.h>#include <string.

11、h> void fun(char *w,int m) char s,*p1,*p2;p1=w;编辑版wordp2=w+m-1;while(p1<p2) s=*p1+; *p1=*p2-; *p2=s;main( ) static char a = ” GFEDCBA ” ;fun(a,strlen(a);puts(a);3假设运行以下程序时,从键盘输入的是:How are youGood morningHello world【程序】#include "stdio.h"#include "string.h"void main() int i;c

12、har s80,str380;for(i=0;i<3;i+)gets(stri);strcpy(s,str0);for(i=1;i<3;i+)if(strlen(s)<strlen(stri) strcpy(s,stri);printf("%s %d",s,strlen(s);4 【程序】#include <stdio.h>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( &quo

13、t;%4d%4dn” ,x,y);5.【程序】运行下面的程序,假设从键盘上输入值为3。#include "stdio.h" main() int j,k,n,temp;int a66;scanf("%d",&n);for(k=0;k<n;k+)for(j=0;j<n;j+) akj=k*n+j; for(k=0;k<n;k+)for(j=0;j<n/2;j+)temp=an-j-1k;an-j-1k=akj; akj=temp;for(k=0;k<n;k+) for(j=0;j<n;j+) printf(&qu

14、ot;%d",akj);printf("n"); 得分阅卷人审核人1.以下程序打印所有符合下列条件的其中有两位数字相同。如100、完善程序(12分,每空1分)3位正整数:是某一个数的平方数,121 等。main()int a,b,c,n,k;for(k=10; ;k+) n= ;if(n>999)(2);a=n/100;b= ;c=n%10;if(!(a-b)*(b-c)*(c-a) printf( "n%d,%d ” ,n,k);2.下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0。main() int i, x, y =

15、 1;scanf( " %d' ,(4);for(i = 2; i<=x-1; i+)if (5)y = 0;(6)printf( " %d , y);3 .以下程序可把输入的十进制数以十六进制数的形式输出。main() char b17 = “ 0123456789ABCDEF " ;int c64, d, i = 0, base = 16;long n;printf("Enter a number:");scanf( " %ld " , &n);do ci =(7); i+; n =(8); whi

16、le (n != 0);printf(" Transmite new base:);for(-i; i >= 0; -i) d = ci; printf(c” ,b " (9); printf( n);4 .以下程序可分别求出方阵a中两个对角线上元素之和。#define N 6main()int aNN,i,j,k,pr1,pr2;for(i=0;i<N;i+)for(j=0;j<N;j+) scanf(" d' ,*(a+i)+j);pr1=pr2=0;for(i=0;i<N;i+) pr1= (10)+(*(*(a+i)+i);k=(11);pr2= (12)+*(*(a+i)+k);pri ntf( " pr1=%d,pr2=%d” ,pr1,pr2);)得分阅卷人审核人四、编程(共38分)+1/(n*(n+1)要求输值。1 ,求下列序列之值 1+1/ (1*2)+1/(2*3)+1/(3*4)+ 入n的值,输出序列之值。编辑版word2 定义一

温馨提示

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

评论

0/150

提交评论