C语言模拟试题ppt_第1页
C语言模拟试题ppt_第2页
C语言模拟试题ppt_第3页
C语言模拟试题ppt_第4页
C语言模拟试题ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、一、选择题一、选择题(每小题每小题1分,共分,共15分分)1以下能对外部的二维数组a进行正确初始化的语句是 。A. int a2 = 1,0,1,5,2,3;B. int a3 = 1,2,1,5,2,3;C. int a24 = 1,2,1,5,2,6;D. int a3 = 1,0,2,2,3;2若int x;且有下面的程序片断,则输出结果为: 。for (x=3; xdata.b D. p.data.b4. 若二维数组a有m行n列,则下面能够正确引用元素aij的为: 。A. *(a+j*n+i) B. *(a+i*n+j) C. *(*(a+i)+j) D. *(*a+i)+j5. 有以

2、下程序:#include void main() int i=0;int *p=&i;i+;printf(i=%d,*p=%d,i,*p);该程序的输出结果是_。A.i=0,*p=1 B. i=1,*p=1 C. i=1,*p=0 D. i=0,*p=06.下面能正确进行字符串赋值操作的语句是_。A. char s5=ABCDE; B.char s5=A,B,C,D,E;C. char *s;s=ABCDEF; D.char *s; scanf(%s,s);7.有以下程序#define N 5+3#include void main()printf(%d,%dn,N*2,2*N);该程

3、序的输出结果是_。A. 13,13 B. 13,11 C. 16,16 D. 11,13 8. 设有以下语句:int x,y,z;z=(y=x=0)&(+y,x+);执行后,x和y的值分别为_。A. 0,0 B. 0,1 C. 1,0 D. 1,19. 以下叙述正确的是_。A.函数的定义和函数的调用均不可以嵌套B.函数的定义和函数的调用均可以嵌套C.函数的定义可以嵌套,但函数的调用均不可以嵌套D.函数的定义不可以嵌套,但函数的调用均可以嵌套10. 凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是_。A.静态(static)B.外部(extern)C.自动(auto)D.寄存器(

4、register)11. 以下对枚举类型名的定义中正确的是_。A.enum a=one,two,three; B.enum a one=9,two=-1,three;C.enum a=one,two,three; D.enum a one,two,three;12. 以下叙述中错误的是 _。A.可以通过typedef增加新的类型 B.可以用typedef将已存在的类型用一个新的名字来代表 C.用typedef定义新的类型名后,原有类型名仍有效 D.用typedef可以为各种类型起别名,但不能为变量起别名13. 若用数组名作为函数调用时的参数,则实际上传递给形参的是_。A.数组元素的个数 B.数

5、组的第一个元素值C.数组中全部元素的植 D.数组首地址14. 以下有关switch语句的正确说法是_。A.break语句是语句中必须的一部分B.在switch 语句中可以根据需要使用或不使用break语句C.break语句在switch 语句中不可以使用D.在switch 语句中的每一个case都要用break语句15. 下列表达式没有错误的是_。int x,*p;A.5.0%2B.x+1=5C.&p D.&(x+1)1设有以下语句:int a;a=5,a+10;执行后,变量a的值为 。2语句x *= y+10;等价于x= 。3设有以下语句:int i=sizeof(x);执行

6、后,变量i的值为 。4要在程序中使用putchar()和getchar()函数,必须包含的头文件为_。二、填空题(每小题1分,共10分)X*(Y+10)stdio.h5. 在定义函数时,函数名后面括弧中的变量名,被称为 参数;在主调函数中调用一个函数时,函数名后面括弧中的参数称为 参数。6. 在C语言中,存放变量地址的变量是_类型变量。7. C语言规定,以_字符作为字符串结束标志。8. 在“int i; int *p=&i ”中,“&”运算符表示_,在“ 3&1”中,“&”运算符表示_ 。形式形式实际实际指针0取地址位与1.#include main()int

7、a=10; int a=15; printf(“a.1=%d,”,a); printf(“a.2=%dn”,a);三、阅读下列程序,写出输出结果三、阅读下列程序,写出输出结果。(每小题每小题3分,共分,共15分分)a.1=15,a.2=102.int f() static int i=0;int s=1;s+=i; i+;return s; main() int i,a=0;for(i=0;i5;i+) a+=f();printf(%dn,a);153. union myun struct int x, y, z; u; int k; a;main() a.u.x=4; a.u.y=5; a.

8、u.z=6; a.k=0; printf(“%dn”,a.u.x); 04.main() static char a=ABCDEFGH,b=abCDefGh; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*(p1+k)=*(p2+k) printf(%c,*(p1+k); printf(n); CDG5.void fun(int *n) while( (*n)-); +(*n);main() int a=100; fun(&a); printf(%dn,a); 01以下函数的功能是:求x的y次方。_ fun( double x

9、, int y) int i;double z;for(i=1, z=x; iy;i+) z=z* _;return z;四、读程序,并四、读程序,并填空。填空。(每小题每小题3分,共分,共30分分)doublex2以下程序将输入的十进制数以十六进制的形式输出。#include main() char b17= 0123456789ABCDEF; int c64,d, i=0, base = 16; long number; printf(请输入一个十进制数n); scanf(%ld,_ ); do ci = _ ; number = number / base; _; while (numb

10、er != 0); printf(对应的十六进制数为: n); for(-i; _ ; -i) d = ci; printf(%c, _ ); printf(n);&numbernumber%base i+i=0bdbci3以下函数的功能是删除字符串s中的数字字符,请填写缺少的语句。void delnum(char s)int i,j;for( i=0,j=0;si!=0;i+)if ( si9) sj=si;_; sj=_ ; |j+0+j或j=j+11.编程计算a+aa+aaa+aaa(n个a)的值,要求n和a由用户从键盘输入。五、编程题五、编程题(每小题每小题10分,共分,共30

11、分分)#include main()int a, n,i;double s;printf(a= );scanf(%d, &a);printf(n= );scanf(%d, &n);s=(double)a;for(i=1;in;i+)s=s*10+a;printf(s=%.0fn ,s);2.自己编写一个函数Inverse实现字符串逆序存放的功能,在主函数中,从键盘任意输入一个字符串(可以有空格),调用函数Inverse实现字符串逆序存放,然后打印逆序存放后的字符串。要求按照如下函数原型进行编程:void Inverse(char str);或者:void Inverse(cha

12、r *pStr);#include void Inverse(char *pStr);#include main()char s100;gets(s);Inverse(s);puts(s);void Inverse(char *pStr)char *q,*p;p=q=pStr;while(*p+);p-=2;while(pq)char t;t=*q;*q=*p;*p=t;p-,q+;3. 从键盘输入数组a和数组b的元素值,编程交换数组a和数组b中的对应元素的值,然后打印数组a和数组b的元素值。已知数组a和数组b各含有10个元素。要求按照如下函数原型进行编程,不能使用全局变量。(14分)#inc

13、lude #define ARRAY_SIZE 10 void Swap(int *x, int *y);void Exchange(int a, int b, int n);void InputArray(int a,int n);void PrintArray(int a,int n);main()int aARRAY_SIZE, bARRAY_SIZE, n;printf(Input array lenth n=10: );scanf(%d, &n);printf(Input array a:n);InputArray(a, n);printf(Input array b:n);

14、InputArray(b, n); Exchange(a,b,n); printf(After swap:n);printf(Array a:n);PrintArray(a, n);printf(Array b:n);PrintArray(b, n);void Swap(int *x, int *y);/*交换两数交换两数*/void Exchange(int a, int b, int n);/*数组元素交换数组元素交换*/void InputArray(int a,int n);/*输入数组元素输入数组元素*/void PrintArray(int a,int n);/*输出数组元素输出数组元素*/void Swap(int *x, int *y) int temp; temp=*x;*x=*y;*y=temp;void Excha

温馨提示

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

评论

0/150

提交评论