程序设计考试题_第1页
程序设计考试题_第2页
程序设计考试题_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、程序设计考试题广东商学院试题考试时间共120分钟课程一程序设计课程代码110084一、选择题(每小题1分,共30分)1. 在C语言中,'以和“a”存储所占用字节数分别是( B)A) 1, 1B) 1, 20 2, 1D)2, 22. 设char曰70,;则变量8(A )A) 包含1个字符 B)包含2个字符0包含3个字符 D)是非法表示3. C语言中,运算符“二"和“二二”的功能分别是(B )A) 关系运算和赋值运算0都是关系运算B) 赋值运算和关系运算D)都是赋值运算4. 已知 int x=7, y=8, z=5;则表达式(x*y/z+)的值是(C )A) 9 B) 9.33

2、0 11D) 11.205. 若a为int类型,且其值为3,则执行完表达式语句枪后,a的值是(A)A) -12B) -30 6D) 96. 设char cl;则cl为小写英文字母字符的正确表达式是(B )A) 'a' <=cl= 'z'B) (cl>= a') &&(cl<= 'z')C) (cl>=a) &&(cl<=z)D) ( W <=cl)|( 'z' >=cl)7. 设int x;,则与计算|x|等价的表达式是(B )A) x>0?-

3、x:xB) x>0?x:-xC) x<0?x:-xD)x<0?-x:-x8. 设有说明语句:int x=0, y=2;则执行if (x=0) y=l+x;else y=x-l;后,变量y的值为(A )A) -1 B) 0C) 1D) 29. 以下循环中,while循环的循环次数是(D )MainOint i=0;While(i<10)if(i<l) continue;if(i= =5) break;i+;A) 1B) 60 10D)不能确定次数10. 设 for(i=0, j=10;(j>0)&&(i<4);i+, j- -);该语句的

4、循环次数为(C)°A) 0B) 3C) 4D) 1011. 设有数组定义:char array二"China” ;则数组array所占的空间为(C )A) 4个字节 B) 5个字节 C) 6个字节D) 7个字节12. C语言中,若有说明:int a3 4;则对a数组元素的正确引用是(B )A) a2 4B) al+l00 aD) &1,313. 下列程序的运行结果是(A )#include<stdio. h>mainOint p8 = l, 2, 3,4, 5, 6, 7,8, i=O, j=O;While(i+<7)if (pi%2) j+=pi

5、;PrintfC “d” , j);A) 15B) 16020D) 3614. C语言中,确定函数返回值的类型由(D )A) return语句中的表达式类型决定B)调用该函数的主函数类型决定0调用该函数时系统状态决定D)定义函数时所指定的函数类型决定15. 调用函数时,若实参是一个数组名,则向函数对应的形参传送的是(B)A)数组元素的个数C)数组第一元素的值B)数组的首地址D)数组全部元素的值16.在C语言中,函数的形式参数是(A )A)局部变量0静态变量B)全局变量D)外部变量17.设宏定义#define P(x) x/x,则执行语句printf( “d” ,P(4+6);后的输出结果是(C

6、 ) A) 1 B) 8.5 C) 11D) 11.518C语言中,指针变量的值只能是(D )A)变量名B)变量的值C)变量的别名D) NULL或地址值19. 若变量已正确定义,并且指针p已经指向变量x,则他相当于(A )A) xB) pC) &xD) &*p20. 若有定义int *pl,*p2,m=5,n;,下列进行赋值的语句中合理的是(BA) pl=m;B) pl=&m;C) *pl=&m;D) &p2=n;21. 若有定义int a5;,则a数组中首元素的地址可以表示为(A )A) aB) a+1C)D) &al22. 设char S10

7、,*p=S;,下列语句中错误的是(B )A) p=s+5; B) s=p+s;C) s2=p4;D) *p=s0;23. 设有如下定义:Struct skint a;float b;da若有p=&data;»则对data中的a域的正确引用是()A) (*p) data, aB) (*p). aC) p->data. aD) p. data, a24. 在说明语句:int *f0;中,标识符f代表的是()A) 一个用于指向函数的指针变量B) 一个返回值为指针型的函数名C) 一个用于指向一维数组的行指针D) 一个用于指向整型数据的指针变量25. 设有定义 int a4 =

8、l,2,3,4;, M aa0+2*a2-a3等于是(D )A) 1 B) 2 C) 3D) 426. 下列叙述不正确的是(D )A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含一个main()函数C) C程序中main。函数的位置是任意的D) 在C程序中,注释说明只能位于一条语句的后面27. 下列叙述正确的是(C )A) C程序总是从第一个函数开始执行B) 在C程序中,要调用的函数必须在main ()函数中定义C) C程序总是从main()函数开始执行D) C程序中的main()函数必须放在程序的开始部分 28在一个C程序中(B )A) main()函数必须出现在所有函数之

9、前B) main()函数可以在任何地方出现C) main()函数必须出现所有函数之后D) main()函数必须出现在固定位置29. 设 int a=l, b=2;» 则执行 a=b+2, a+, a+b;后 a 的值是(D )A) 1B) 3C) 4D) 530. 定义二维数组并初始化,正确的是(C )A)int a =1,2,3,4,5,6);B)int a2 = 1, 2, 3,4, 5, 6;C)int a 3 = 1,2, 3,4, 5, 6;D)int a2, 3 = 1, 2, 3, 4, 5, 6;二、写出下列程序的运行结果(每小题3分,共21分)1. 以下程序的输出结

10、果是Ottinclude <stdioh>void mainO int i, j, x=0;for (i=0;i<2;i+)for (j=0;j<3;j+)辻(j%2) continue;x+;printf( "x=%dn" , x)2. 下列程序的输出结果是一 8 4°#include "stdio.h"int d=l;void fun (int);int mainOint a=3;fun(a); d+ =a+;printf( d" , d); Void fun (int a)int d=5;d+ =a+;p

11、rintf ( dn" , d);3. 以下程序的输出结果是25。include <stdio. h>void reverse(int a, int n);main 0int b10=l, 2, 3,4, 5, 6, 7,8,9,10; int i, s=0;reverse (b, 8); for(i=5;i<10;i+) s+=bi;printf( d" , s);void reverse(int a, int n);int i, t;for(i=0;i<n/2;i+) t=ai :ai=an-l-i ;an-l-i=t;4. 以下程序的输出结果是

12、7 15°#include <stdio> h>int f (int n);int mainO printf ( “d”,f ); printf ( “d” ,f(8);int f (int n) static int a=2;int b=0;a+=n;b+=a; return b;5. 下面程序的运行结果是2 4 3 4 5 6# include<stdio. h>mainOint a = (l,2> 3,4, 5, 6,*p;P=a;*P=2;P+;*P=4;for (int i=0;i<6;i+)printf( d" ,ai)

13、;&下面程序的运行结果是一 a=ll,222 a=ll b=22 #include<stdio. h>void funl (int x, int y);void fun2(int *x, int *y);main()int a, b;a=ll;b=22;fun2 (&a, &b);printf ( aa=%d, b=%d" , a, b);funl (a, b);printf ( aa=%d, b=%d" , a, b);void funl (int x, int y)int t; t=x;x=y;y=t;void fun2(int *x

14、, int *y)int *t; t=x;x=y;y=t;7.下面程序的运行结果是一Yes#include<stdio. h>int palindrome(char s);main ()char c=” LEVEL” ;if (palimdrome(c)= =1) printf( "Yes!"); else printf ( "No!");int palindrome(char s);char *pi, *pj;pi=s;pj=s+strlen(s)-1;while (pi<pj&&*pi= =*pj)Pi卄;pj-;

15、if(*pi= =*pj)return 1; else retnrn 0;三、程序填空:(根据题意,将空缺的语句补上。每空3分,共33分)1. 输出100以内能被3整除且个位数为6的所有整数。请填空。mainO int i, j;for (i=0;(i<100);i+); j=i*10+6;if (j%3!=0) continue (2)else printf( "%d" , j);2. 输入10个整数,输出最大整数。#include<stdio. h>mainOint k, x, max;scanf ( "%d" , &x);

16、max 二 (1) ;for (k=2;k<=10(2) ;k+)scanf ( “d”,&x);if ( (3) x>max ) max=x;Printf ( "Max=%d" , max);3. 从键盘输入20个整数,输出它们的和。ttinclude <stdioh>main 0 int a, sum=0;for (int i=l; i<=20;i+(1) )scanf ( "%d" , &a);sum=sum+a (2) ;Printf( "sum=%d" ,sum);4. 从键盘上

17、输入若干个学生的成绩,计算平均成绩(取整数),并输出低于平均分的学生成绩,用输 入负数结束输入。#include<stdio. h>main()int score 1000, sum=0, n=0, ave, x, i;scanf( Enter mark:%dw,&x);While (x>=0) sum+二x ;score n = x (2) ;n+;scanf (;if (n!=0)ave= sum/n(3) ;else ave=0;Printf( Average=%dw , Ave);for(i=0;i<n;i+)if ( (4) scorei<ave) Printf(,score i):四. 编写程序(第1题7分,第2题9分,共16分)1. 利用公式计算S=4 (1-1/3+1/5T/7+1/9)的近似值,直到括号中最后一项的绝对值小于1(T为止。2. 编一个程序,要求:输入10个整数到数组a中并输出,然后将数组各元素依次向后循环移动一个位置,输出移动后的数组&移动前a0ala2a3a4a5a6aa8a9移动后a9a0ala2a3a4aa6a7a8#include<stdio.h>

温馨提示

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

评论

0/150

提交评论