程序设计基础试题_01_答案

上传人:daj****de2 文档编号:190597800 上传时间:2023-02-28 格式:DOCX 页数:8 大小:19.36KB
返回 下载 相关 举报
程序设计基础试题_01_答案_第1页
第1页 / 共8页
程序设计基础试题_01_答案_第2页
第2页 / 共8页
程序设计基础试题_01_答案_第3页
第3页 / 共8页
点击查看更多>>
资源描述
学院领导 审批并签名A / B卷广州大学 学年第 学期考试卷课程高级语言程序设计 考试形式(开/闭卷,考试/查)学院 系 专业 班级学号姓名题次二三四五六七八九十总分评卷人分数602020评分一:选择题(每题3分,共60分)(1) 若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为A) float B) int C) char D) double(2) 表示关系x=y=z的c语言表达式为A) (X=Y)&(Y=Z) | B) (X=Y)AND(Y=Z)C) (X=Y=Z)D) (X=Y)&(Y=Z)(3) 设 a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d 的结果为A) 4 B) 3 C) 2DTT设x为int型变量,则执行以下语句后,x的值为 x=10; x+=x-=x-x;A) 10 B) 20 C) 40 D) 30(5)下列可作为C语言赋值语句的是A) x=3,y=5B) a=b=6C) i-;|D) y=int(x);b(6)设x,y,z,t均为int型变量,则执行以下语句后,t的值为 x=y=z=1;t=+x|+y&+z;A)不定值 B) 2 C) 1| D) 0(7) 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf(d%f,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A) 100765.12B) 100 765.12C) 100765.12D) x=100 y=765.12(8) 设x和y均为int型变量,则执行下面的循环后,y值为for(y=1,x=1;y=50;y+)(if(x=10) break;if (x%2=1)(x+=5;continue;x-=3;A) 2 B) 4 C) 6 D) 8(9) 给出以下定义:char x =abcdefg;char y= a, b , c , d , e , f , g ;则正确的叙述为A)数组x和数组y等价B)数组x和数组y的长度相同C)数组x的长度大于数组y的长度 D)数组x的长度小于数组y的长度(10) 以下叙述中不正确的是A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(11) 假定a和b为int型变量,则执行以下语句后b的值为 a=1; b=10;do( b-=a;a+; while (b-3;j-)(if(j%3)j-;-j;-j;printf(%d ,j);A) 63B)FlC) 62 D) 73(13) 设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1);后,z的值为A)出错 B) 42 C) 48D)54(14) 设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不 能正确执行的语句是A)k=*P1+*P2;B)p2=k;C)P1=P2;D)k=*P1 * (*P2);(15) 设有如下定义:int arr=6,7,8,9,10;int * ptr;则下列程序段的输出结果为ptr=arr;* (ptr+2)+=2;printf (d,%dn,*ptr,*(ptr+2);A)8,10B)6,8C)7,9D)6,10(16) 以下程序的输出结果是 main()( int i,k,a10,p3;k=5;for (i=0;i10;i+)for (i=0;i3;i+)for (i=0;i3;i+)printf(%dn,k);A) 20 B) 211 C) 22ai=i;pi=ai*(i+1);k+=pi*2;D)23(17) 执行以下程序段后,m的值为int a23 = ( 1,2,3,4,5,6 ;int m,*p;p=&a00;m=(*p)*(*(p+2)*(*(p+4);(18)有以下程序段char arr=ABCDE”;char *ptr;for(ptr=arr;ptrarr+5;ptr+)printf(sn,ptr)输出结果是A) ABCDB) AC) ED) ABCDEBDCCDBEABCDEA) 15| B) 14 C) 13 D) 12(19)有以下程序main()( int x,i;for(i=1;i=50;i+)( x=i;if(+x%2=0)if(x%3=0)if(x%7=0)printf(d,i);输出结果是A) 28 B) 27 C) 42 D) 41(20)有下列程序#includemain() union short int k;char i2; *s,a;s=&a;s-i0=0x39;s-i1=0x38;printf(%xn,s-k);输出结果是A) 3839 B) 3938 C) 380039 D) 390038二:填空题(每题4分,共20分)(1) 以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出 该字符串,请填空.#includectype.h#includestdio.hmain()( char str81,*sptr;int i;for(i=0;i80;i+)( stri=getchar();if(stri=n) break;(1);stri= 0sptr二str;while(*sptr) putchar(*sptr (2);(2) 以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串 中第一个不相同符的ASCII码之差.例如:输入的两个字符串分别为abcdef和 abceef,则输出为-1.请填空.#includemain()( char str1100,str2100,c;int i,s;printf(n input string 1:n);gets(str1);printf(n input string 2:n);gets(str2);i=0;while(str1i=str2i)&(str1i!=(1)i+;s=str1i-str2i(2);printf(%dn,s);(3) 以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转 换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来. 请填空.#includemain()( FILE *fp;char str100; int i=0;if(fp=fopen(text.txt,w(1)=NULL)( printf(cant open this file.n);return 0;printf(input astring:n); gets(str);while (stri)(if(stri=a&stri=z)stri=stri-32(2);fputc(stri,fp);i+;fclose(fp);fp=fopen(text.txt,r3);fgets(str,100,fp);printf(%sn,str);fclose(fp);(4) 以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输 出,请填空.#include.main()( char b16 = 0,T,2,3,4,5,6,7,8,9,A,B,C,D,E,F;int c64,d,i=0,base;long n;printf(enter a number:n); scanf(ld,&n);printf(enter new base:n); scanf(%d,&base);do(ci=n%base (1);i+; n=n/base; while(n!=0);printf(transmite new base:n);for(-i;i=0;-i)(d=ci;printf(%c,b (2);(5) 下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include main() int i,j;for(i=0; i10(1);i+)j=i*10+6;if() continue;printf( d ”,j);三:程序编写题(下面3题任选2题,每题10分,共20分)题目1:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入 数组中。void insert(int x,int n,int y) int i,j;for (i=0;i=y)break;if (i=n) xi=y; else for (j=n;ji;j-) xj=xj-1; xi=y;题目2:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五 份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下 的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份, 第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?int main(int argc, char* argv) int i,k,n;float m;for (n=4;n2000;n+) k=n;for (i=0;i4;i+) if (k-1)%5!=0)break;k=5*k/4+1;if (k-1)%5=0)printf(最少要有 dn,k);题目3:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数? 都是多少?int main(int argc, char* argv)( int i,j,k,n;for (i=1;i=4;i+)for (j=1;j=4;j+)for (k=1;k=4;k+)if (i!=j & i!=k & j!=k)printf(%d ,i*100+j*10+k);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!