2022年程序设计基础试题 2.pdf
青海大学试卷(A)系别:班级:学号:姓名:考试课程:程序设计基础(C)考试日期:2010 年 1 月 4 日一、选择题:(每题 2 分,总分 2*20=40 分)1 以下叙述不正确的是。A)一个 C 源程序必须包含一个main 函数B)一个 C 源程序可由一个或多个函数组成C)C 程序的基本组成单位是函数D)在 C程序中,注释说明只能位于一条语句的后面2 下列四组选项中,均是不合法的用户标识符的选项是。A)W P_0 do B)b-a goto int C)float la0 _A D)-123 abc TEMP 3设 C语言中,一个int型数据在内存中占2 个字节,则 unsigned int 型数据的取值范围为。A)0 255 B)032767 C)065535 D)021474836474设有程序段int k=10;while(k=0)k=k-1;这下面描述中正确的是_.A)while循环执行 10 次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次5设以下变量均为int类型,则值不等于7 的表达式是。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)6 判断 char 型变量 ch 是否为大写字母的正确表达式是。A)A=ch=A)&(ch=A)&(ch=Z)D)(A=ch)7以下程序段 _.x=1,y=0;do x=x*y;y+;while(!x);A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误8以下对二维数组a 的正确说明是 _.a)int a3;b)float a(3,4);c)double a14 d)float a(3)(4);9有两个字符数组a、b,则以下正确的输入语句是_.A)gets(a,b);B)scanf(%s%s,a,b);C)scanf(%s%s,&a,&b);D)gets(a),gets(b)10.以下为一维整型数组a 的正确说明是 _.A)int a(10);C)int n;scanf(%d,&n);int an;B)int n=10,an;D)#define SIZE 10;int aSIZE;11判断字符串s1 是否大于字符串s2,应当使用 _.A)if(s1s2)B)if(strcmp(s1,s2)C)if(strcmp(s2,s1)0)D)if(strcmp(s1,s2)0)12若有语句int*point,a=4;和 point=&a;下面均代表地址的一组选项是_.A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,point 13以下正确的函数定义形式是_.A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);14 若有定义:int a23,则对 a 数组的第 i 行 j 列元素地址的正确引用为_.A)*(ai+j)B)(a+i)C)*(a+j)D)ai+j 题号一二三四总分分数40 24 18 18 100 得分核分人阅卷人名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -15若有定义int a=1,2,3,4,5,6,7,8,9,10,*p=a,i;则对数组元素地址的正确表示为 _.A)&(a+1)B)a+C)&p D)&pi 16以下对结构体变量stu1 中成员 age 的非法引用是 _.struct student int age;int num;stu1,*p;p=&stu1;A)stu1.age B)student.age C)p-age D)(*p).age 17下面对 typedef的叙述中不正确的是_.A)用 typedef可以定义各种类型名,但不能用来定义变量 B)用 typedef可以增加新类型 C)用 typedef只是将已存在的类型用一个新的标识符来代表 D)使用 typedef有利于程序的通用和移植18以下叙述中不正确的是_.A)表达式 a+=b 等价于 a=a+b B)表达式 a-=b 等价于 a=a-b C)表达式 a!=b 等价于 a=a!b D)表达式 a/=b 等价于 a=a/b 19在位运算中,操作数每左移一位,则结果相当于_.A)操作数乘以 2 B)操作数除以2 C)操作数除以 4 D)操作数乘以4 20函数调用语句:fseek(fp,-20L,2);的含义是 _.A)将文件位置指针移到距离文件头20 个字节处 B)将文件位置指针从当前位置向后移动20 个字节 C)将文件位置指针从文件末尾处后退20 个字节 D)将文件位置指针移到离当前位置20 个字节处二填空题(每题2 分,总分 12*2=24 分)1 C 语言中,实现循环的语句有while 语句、do-while语句、_语句以及 _语句。2 若有 int m=3,y=1;则计算表达式y+=y-=m*=y 后的 y 值是 _。3 在 C语言中,八进制整型常量以_开头,十六进制整型常量以_开头。4 Y在内存中占 _个字节,“Y”在内存中占 _个字节。5 若 x 和 n 均是 int型变量,且x 和 n 的初值均为5,则计算 x+=n+表达式后 x的值为 _,n 的值为 _。6 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为_。(x+y)%2+(int)a/(int)b 7有如下函数:Long int factorial(int n)if(n=1)return(1);else return(factorial(n-1)*n);请回答此函数的功能是求_,采用的算法叫做_ _。8有这样的定义:int a=7;int*point;若让指针 point指向 a 的语句是 _。9C语言的函数有两种,即标准函数和_ _,从接口形式上分类,函数分为有参函数和 _ _。10定义结构体类型如下:float x;union int i;char ch;float f;a;a.i=1;a.ch=a;a.f=1.5;若要将共用体变量a 的值赋给变量x,请写出赋值语句_。11有结构体和共用体变量定义如下:struct aaint a6;char c;float x;bl1;union bbint a6;char c;float x;bl2;若 int 型变量占2 个字节,char 型变量占 1 个字节,float型变量占 4 个字节,请问变量 bl1 占用的内存空间的字节数为_,变量 bl2 占用的内存空间的字节数为_。12若有以下定义:int a23=2,4,6,8,10,12;则 a10的值是 _.*(*(a+1)+0)的值是 _.名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -三程序阅读题(每题3 分,总分 3*6=18 分)1若有宏定义如下:#define X 5#define Y X+1#define Z Y*X/2 则执行以下printf语句后,输出结果是_。int a;a=Y;printf(%d,%dn,Z,-a);2 以下程序的运行结果是。main()int m=5;if(m+5)printf(“%dn”,m);else printf(“%dn”,m-);3下面程序的运行结果是_.#include main()char str=SSSWLIA,c;int k;for(k=2;(c=strk)!=0;k+)switch(c)case I:+k;break;case L:continue;default:putchar(c);continue;putchar(*);4以下程序的运行结果是_.#include main()int x=4,y=10;printf(x=%d,y=%dn,x,y);printf(swapped:n);swap(x,y);printf(x=%d,y=%dn,x,y);swap(int a,int b)int temp;temp=a;a=b;b=temp;5以下程序的运行结果是_.int a=5;int b=7;main()int a=4,b=5,c;c=plus(a,b);printf(A+B=%dn,c);plus(int x,int y)int z;z=x+y;return(z);6.main()int x,y,i,a8,j,u,v;scanf(%d,&x);y=x;i=0;dou=y/2;ai=y%2;i+;y=u;while(y=1);for(j=i-1;j=0;j-)printf(%d,aj);当从键盘输入18 并回车后,下面程序的运行结果是_.四编程题(第一题8 分,第二题 10 分,总分 8+10=18 分)1.编程实现求三个数x,y,z中的最小数。2.已知二维数组a34=1,2,3,4,9,8,7,6,-10,10,-5,2;求此二维数组中的最大元素值及其所在的行列号。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -程序设计基础(C)试卷参考答案系别:班级:学号:姓名:考试课程:程序设计基础(C)考试日期:2011 年1 月4 日题号一二三四总分分数40 24 18 18 100 得分核分人阅卷人一选择题:(每小题 2 分,共计 40分)1 2 3 4 5 6 7 8 9 10 D B C C C C A C B D 11 12 13 14 15 16 17 18 19 20 D D A D D B B C A C 二填空题:(每题 2 分,共计 24 分)1.【1】for【2】if-goto 2.【1】-4 3.【1】0【2】0X 4.【1】1【2】2 5.【1】10【2】6 6.【1】1 7.【1】n!【2】递归算法8.【1】point=&a 9.【1】用户自定义函数【2】无参函数10.【1】x=a.f 11.【1】17【2】12 12.【1】8【2】8 三程序阅读题:(每题 3 分,共计 18 分)1.7,5 2.6 3.SW*4.x=4,y=10 swapped:x=4,y=10 5.A+B=9 6.10010 四编程题:(第一题8 分,第二题10 分,共计 18 分)1(8 分)#include main()int x,y,z,m,n;scanf(“%d%d%d”,&x,&y,&z);m=(xy)?x:y;n=(mz)?m:z;printf(%dn,n);2(10 分)#include main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2,i,j,hol,col,max;max=a00;for(i=0;i3;i+)for(j=0;jmax)max=aij;col=i;hol=j;printf(“max=%d,col=%d,hol=%d”,max,col,hol);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -