湖南省历界对口高考C语言真题答案
对口c语言高考测试题及答案
对口c语言高考测试题及答案1. 以下哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable!name答案:C2. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. int答案:D3. 以下哪个选项是C语言中正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A4. 在C语言中,用于定义一个整型数组的语法是什么?A. int array[10];B. int [10] array;C. int array = 10;D. int array[10] = {0};答案:A5. C语言中,哪个运算符用于计算两个整数的和?A. +B. -C. *D. /答案:A6. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = 'Hello';D. char str[] = {"Hello"};答案:A7. C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y)D. if x > y答案:A8. 在C语言中,以下哪个选项是正确的循环结构?A. for (int i = 0; i < 10; i++)B. for (int i = 0; i < 10; i++)C. while (i < 10)D. do-while (i < 10)答案:A9. C语言中,以下哪个函数用于计算数组的长度?A. sizeofB. lengthC. sizeD. count答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. openfileC. fileopenD. file答案:A11. C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student = {int id;char name[50];};C. struct Student {int id;char name;};D. struct Student = {int id;char name[50];};答案:A12. 在C语言中,以下哪个选项是正确的指针声明方式?A. int *ptr;B. int ptr*;C. int *ptr = 0;D. int ptr = 0;答案:A13. C语言中,以下哪个选项是正确的递归函数调用?A. void factorial(int n) {if (n == 0) return 1;else return n * factorial(n - 1);}B. void factorial(int n) {if (n == 0) return 1;else return n * factorial(n);}C. void factorial(int n) {if (n == 0) return 1;else return n * factorial(n - 1);}D. void factorial(int n) {if (n == 0) return 1;else return n * factorial(n - 1);}答案:A14. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159D. #define PI = 3.14159答案:A15. C语言中,以下哪个选项是正确的枚举定义方式?A. enum Color {RED, GREEN, BLUE};B. enum Color {RED, GREEN, BLUE} color;C. enum Color {RED, GREEN, BLUE};D. enum Color {RED, GREEN, BLUE} color;答案:A。
2015年湖南省对口高考C语言试题(含答案)
2015年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2015年20.在C语言中,下列叙述正确的是A.空字符串不占用内存,其内存空间大小是0B.可以用关系运算符比较字符串的大小C.连续两个双引号是合法的字符串常量D.连续两个单引号是合法的字符常量答案:C"" 保存在文字常量区char*p="";p的值指向文件常量区的地址而*p的值为0 因为c的字符串都是以0结尾没有""内容但还是有0的字符常量是用单引号括起来的一个字符。
2015年21.若有语句:int x=12,y=8,z;z=0.8+x/y;执行语句后z的值为A.1.8B.1C.2D.2.42015年22.若有语句:int a,b;scanf("%d;%d",&a,&b);如果把整数4赋给a,把整数5赋给b,应该输入A.4 5B.4,5 C.45 D. 4;5三、综合应用题(每小题20分,每空5分,共20分)2015年30.输入一行文字,找出其中大写字母、小写字母、空格、数字及其它字符各有多少。
main(){char str[40],*p,sl=0,s2=0,s3=0,s4=0,s5=0;gets(str);p=str;while(*p){if(_①*p>=’A’&&*p<=’Z’) sl++;else if(②*p>=’a’&&*p<=’z’) s2++;else if(③*p>=’0’&&*p<=’9’) s3++;else if(④ *p=‘’) s4++;else s5++;p++;}printf(“大写字母:%d 小写字母:%d 数字:%d 空格:%d 其它:%d\n”,s1,s2,s3,s4,s5);}四、程序分析题(本大题共3小题,共75分)2015年32.阅读程序,写出运行结果(每空5分,共25分)(1)下列程序的运行结果是① 63main(){ int i=0,a=0;while(i<30){ for(;;)if(i%10==0) break;else i--;i+=11;a+=i;}printf("%d",a);}(2)下列程序的运行结果是② 14main(){ int a[3][3]={{0,1},{2,3},{4,5}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d",s);}(3)下列程序的运行结果是③ 1024#include <stdlib.h>int fun(){ static int x=1;x*=2;return x;}main(){ int i,s=1;for(i=1;i<=4;i++) s*=fun();printf("%d",s);}(4)下列程序的运行结果是④ knahTmain(){ char *p;int i;p=(char*)malloc(sizeof(char)*20);strcpy(p," Thank ");for(i=6;i>=0;i--)putchar(*(p+i));free(p);}(5)下列程序的运行结果是⑤ 012345main(){ FILE *fp;int x[6]={0,1,2,3,4,5},i;fp=fopen("test.dat","wb");fwrite(x,sizeof(int),3,fp);rewind(fp);fread(x,sizeof(int),3,fp);for(i=0; i<6; i++)printf("%d",x[i]);fclose(fp);}2015年33.程序填空。
湖南省历界对口高考C语言真题(答案)
历界高考C语言真题2007年真题一、程序分析题1、#include <stdio.h>main( ){ int x=3;doprintf(“%d”,x-=2);while(!(--x));}2、#include <stdio.h>main( ){ int x=4,y=8,z;z=x<<2|y;printf(“%d”,z);}3、#include <stdio.h>main( ){ char x=’E’,y=’e’;printf(“%c”,x+32);printf(“%c”,(x--,y++));printf(“%c\n”,x==y?x+=32:(y-=32));}4、#include <stdio.h>main( ){ int t=2;while(t<5)switch(t%2){ case 0: t++;printf(“#”);break;case 1: t+=2;printf(“*”);default:printf(“\n”);}}5、#include <stdio.h>main( ){ char str1[50]=”Beijing 2008”,*q=str1;char str2[50]=”One world One Dream!”,*p=str2;while(*p!=’\0’) p++;while(*q!=’\0’) *p++=*q++;*p=’\0’;printf(“%s”,str2);}#include<string.h> main( ){ char s[]=”abcdefg ”,t; int i=0,j=strlen(s)-1; while(i<j){ t=s[i],s[i]=s[j],a[j]=t;i++,j--;} puts(s); }二、程序填空题1、下面程序的功能是求1000以内的完数。
湖南省对口升学计算机专业C语言类试题Word版
2014年下期永州工贸分校对口升学计算机综合C语言试题总分190分一、填空题(每题4分,共120分)1.有以下程序# define f(x) (x*x)main(){ int i1, i2;i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ;printf("%d, %d\n",i1,i2); }程序运行后的输出结果是()。
A 64, 28B 4, 4C 4, 3D 64, 642.若有运算符<<,sizeof,^,&=则他们按优先级由高到低的正确排列次序是____.A、sizeof,&=,<<,^B、sizeof,<<,^,&=C、^,<<,sizeof,&=D、<<,^,&=,sizeof3.sizeof(float)是()A、一种函数调用B、一个不合法的表示形式C、一个整型表达式D、一个浮点表达式4.以下叙述中不正确的是()A、表达式a&=b等价于a=a&bB、表达式a|=b等价于a=a|bC、表达式a!=b等价于a=a!bD、表达式a^=b等价于a=a^b 5.若x=2,y=3,则x&y的结果是__()A、0B、2C、3D、56.在位运算中,操作数每左移一位,则结果相当于()A、操作数乘以2B、操作数除以2C、操作数除以4D、操作数乘以47.系统的标准数入文件是指()A、键盘B、显示器C、软盘D、硬盘8.若执行fopen函数时发生错误,则函数的返回值是()A、地址值B、0C、1D、EOF9.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()A、"ab+"B、"wb+"C、"rb+"D、"ab"10.fscanf函数的正确调用形式是__()A、fscanf(fp,格式字符串,输出表列)B、fscanf(格式字符串,输出表列,fp);C、fscanf(格式字符串,文件指针,输出表列);D、fscanf(文件指针,格式字符串,输入表列);11.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是____.A、只写B、追加C、读或读写D、答案b和c都正确12.函数调用语句:fseek(fp,-20L,2);的含义是()A、将文件位置指针移到距离文件头20个字节处B、将文件位置指针从当前位置向后移动20个字节C、将文件位置指针从文件末尾处后退20个字节D、将文件位置指针移到离当前位置20个字节处13.利用fseek函数可实现的操作_()A、fseek(文件类型指针,起始点,位移量);B、fseek(fp,位移量,起始点);C、fseek(位移量,起始点,fp);D、fseek(起始点,位移量,文件类型指针);14.在执行fopen函数时,ferror函数的初值是()A、TUREB、-1C、1D、015、若有宏定义如下:#define X 5#define Y X+1#define Z Y*X/2则执行printf("%d\n",Z);语句后,输出结果是( )。
2014年湖南省对口高考C语言试题(含答案)
L29
p->next = p L29 改为:p = p->next;
L30 }
L31 }
五、程序设计题(本大题 25 分,每空 5 分)
2014 年 36. 以字符串的形式输入一个浮点数的字符串,通过程序转换成对应的浮点数,需
要考虑输入数据的正负。 说明:字符“0”比数字 0 的 ASCII 值大 48。 #include <stdio.h> #define N 12 main() { char src[N],ch; int i,count=0,j; */ count 用于记录某字符为 小数点后第几位/* gets(src); */ isPositive 用于标示正负, isBeforeDecimaIPoint 用于标示小数点前或
2/7
湖南省计算机应用类专业综合知识高考(2014)C 语言试题含答案
case 'B':printf ("pass");break; case 'c': case 'C':printf ("good"); case 'd': case 'D':printf ("luck"); } } (3)下列程序的运行结果是 ③j=6 i=5 #include <stdio.h> main(){ int i,j; for(i=0;i<5;i++) for(j=l;j<10;j++){ if(j==6) break; if(i<3) continue; } printf("j=%d ",j); printf("i=%d\n",i); } (4)下列程序的运行结果是 ④ 42 #include <stdio.h> int f(int x[],int n){ int i,r=1; for(i=0;i<=n;i++) r=r*x[i]; return r; } main(){ int s,a[]={2,7,3,l,5,4,6,8}; s=f(a,3); printf("%d\n",s); } (5)下列程序的运行结果是 ⑤ 6,7,6 #include <stdio.h> int *f(int *x,int *y){ if(*x<*y) return x; else
湖南省2024年对口升学考试计算机应用类试题-图文
教程
1、一个用C语言编写的程序中,有下面几个变量:int a,b,c,测试表达式a+b*c的值是多少()
A、a+b
B、b*c
C、a+b*c
D、a*b+c
答案:C、a+b*c
2、以下关于java中定义对象的说法中,正确的是()
A、使用new关键字定义对象
B、使用this关键字定义对象
C、使用void关键字定义对象
D、使用static关键字定义对象
答案:A、使用new关键字定义对象
3、函数f(x)=ax^3+bx^2+c的最小值是()
A、-a
B、-b
C、-c
D、-a-b-c
答案:D、-a-b-c
4、在C语言中,下列哪个语句不能用于程序调试?()
A、puts
B、printf
C、scanf
D、malloc
答案:D、malloc
5、下列哪个特性不属于面向对象的编程?()
A、封装
B、数据结构
C、继承
D、编译
答案:B、数据结构
6、关于列表类型的描述,正确的是()
A、列表的索引从零开始
B、列表可以存储任意数据类型
C、列表只能存储字符串数据类型
D、列表的索引从一开始
答案:A、列表的索引从零开始
7、下列叙述错误的是()
A、TCP/IP是一种常用的网络协议
B、HTTP是网页上的图片
C、HTTPS是安全版本的HTTP协议
D、UDP是一种非连接型的网络协议
答案:B、HTTP是网页上的图片
8、关于MySQL数据库的说法,正确的是()
A、MySQL支持多种数据类型
B、MySQL支持跨平台
C、MySQL是基于文本的数据库。
2016年湖南省对口高考C语言试题(含答案)
2016年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2016年20.在C语言中,函数值类型在定义时可以缺省,缺省时函数值的隐含类型是()A. voidB. intC. floatD. double2016年21.用scanf函数输入一个字符串到数组str中,以下选项中正确的语句是()A. scanf("%s",&str);B. scanf("%c",&str[10]);C. scanf("%s",str[10]);D. scanf("%s",str);2016年22.设有定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中表达式的值为6的是()A. *(k+2)B. k+2C. *k+2D. *k+=2三、综合应用题(每小题20分,每空5分,共20分)2016年30.以下程序的功能是:从键盘输入班级学生的成绩,计算学生成缋的平均分,并输出高于平均分的学生成绩,输入负数表示输入结束,班级人数不超过100人。
int main(){float x[ 100],sum=0.0,ave,s;int n=0,i;printf("Enter mark:\n");scanf("%f",&s);while(s>=0.0 &&n<100){sum=① sum+s ;x[n]= s;② n++ ;scanf("%f",&s);}ave=sum/n;printf("Output:\n");printf("ave=%f\n",ave);for(i=0; ___③ i<n_ : i++)if(④x[i]>ave___)printf("%f\n",x[i]); return 0;}四、程序分析题(本大题共3小题,共75分)2016年32.阅读程序,写出运行结果(每空5分,共25分) (1)下列程序的运行结果是___①_s1=student!S2=student!___#include <stdio.h>void f(char *from,char *to){while((*to++=*from++)!='\0');}int main( ){char s1 [80]=" teacher!";char s2[80]=" student!";f(s2,s1);printf("s1 =%s\n",s1);printf("s2=%s\n",s2);return 0;}(2)下列程序的运行结果是② x=0,y=0x=0,y=0#include <stdio.h>void f(int x){static int y=0; x=0;printf("x=%d,y=%d\n",x,y);}int main( ){int i;for(i=0;i<2;i++)f(i);return 0;}(3)下列程序的运行结果是___③_p=543__#include <stdio.h>int p(int n){int s=0;while(n){s=s* 10+n%10;n=n/10;}return s;}int main( ){printf("p=%d\n",p(345));return 0;}(4)下列程序的运行结果是___④ _42__#include <stdio.h> Array int main( ){int i,x=0,t=1;char s[10]="101010";for(i=strlen(s)-1;i>=0;i--,t<<=1)if(s[i]!='0')x+=t;printf("x=%d\n",x);return 0;}(5)下列程序的运行结果是⑤ eabcd#include <stdio.h> Array void f(char *p){char max, *q; int i=0;max=p[i];while(p[i]!='\0'){if(max<p[i]){max=p[i];q=p+i;}i++;}while(q>p){*q=*(q-1 ); q--;}p[0]=max;}int main( ){char str[80] = "abcde";f(str); puts(str);printf("\n");return 0;}2016年33.程序填空。
(完整word版)单招高考C语言考卷-(答案)
C. a[4][1+2]
D .a[ ][2]
A ).
B.int a[][3]={2,3,4,5,6,7};
C. int a[3][3]={0}; D. int a[5][4]={{1,2},{2,3},{3,4},{4,5}};
28、若有以下数组定义 : char ch[]="book_120\n";
2、符号常量的定义方法是 #define 常量名 常量 。
3、设有下列运算符: <<、 +、++ 、 && 、 >=,其中优先级最高的是 级最低的是 && 。
++ ,优先
4、 putchar()函数可以向终端输出一个
字符
。
5、设有定义语句“ int a[3][4]={{1}, {2}, {3}} ”,则 a[2][1] 的值为
A. 7
B.8
29、以下程序段的输出结果是( A ) .
则数组 ch 的存储长度是( D )。
C.9
D.10
char str[8]={'a','b','c','d','\0','y','z','\0'};
printf("%s",str);
A. abcd
B . abcd yz
30、合法的数组定义是( B )
C 语言 学科练习
得分:
卷一( 60 分)
一、选择题(每题 2 分,共 40 分)
1、以下叙述正确的是:__ B__。
A ) C 语言的源程序不必通过编译就可以直接运行。
2018年湖南省对口高考C语言试题(含答案)
2018年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2018年20.若“int a=12;”,执行“a/=a+8;”后,a的值是A.1B.8C.9D.02018年21.若“int a=5,b;”,执行“b=a>>2;”后,b的值是A.10B.20C.1D.22018年22.若“char a[6]="abcde";”,执行“printf("%d",strlen(a));”后,输出的结果是A.5B.6C.7D.e三、综合应用题(每小题20分,每空5分,共20分)2018年30.入夏标志着春夏季节完成转换,气候学上入夏的标准是必须要连续5天日平均气温达到22℃或以上,则这连续5天中的第一天为入夏日。
函数fun的功能是判断5月份是否入夏并输出有关信息,若入夏就返回是哪天,否则返回-1。
请补全下列代码。
#include<stdio.h>int fun(int a[],int n){ /*a存放某月的每日气温值,n存放的是此月的天数*/int i,c=0;for(i=0;i<n;i++){if(① a[i]>=22 ){c++;if(c>=5)② return i+1-c ;或者return i-4else③ continue ;}④ c=0 ;}return -1;}int main(){int t[31]={20,21,22,22,19,18,18,19,22,23,22,21,20,21,24,22,25,24,23,21,23,22,21,22,25,26,30,28,27,28}int d;d=fun(t,31);if(d==-1)printf(“Not in summer\n”)elseprintf(“5-%d in summer\n”,d+1);return 0;}四、程序分析题(本大题共3小题,共75分)2018年32.阅读程序,写出运行结果(每空5分,共25分)(1)下列程序的运行结果是① gcd=7#include <stdio.h>int main(){int a=14,b=35,c;if(a<b){c=a;a=b;b=c; }c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("gcd=%d\n",b);return 0;}(2)下列方程的运行结果是②#include <stdio.h>int main(){int a[20],i,m=10,k=8;for(i=0;m>0;i++){a[i]=m%k;}for(i--;i>=0;i--)printf("%d\n", a[i]);return 0;}(3)下列程序的运行结果是③result=2018#include<stdio.h>int main(){char str[50]="welcome2018";int i,n=0;for(i=0;str[i]!='\0';i++)if('0'<=str[i]&& str[i]<='9')n=n*10+str[i]-'0';printf("result=%d\n",n);return 0;}(4)下列程序的运行结果是④ 120#include<stdio.h>int f(n){if(n==1||n==0)return 1;return(n*f(n-1));} Array int main(){printf("%d",f(5));return 0;}(5)下列程序的运行结果是⑤ 5 6 7 8 9 1 2 3 4#include<stdio.h>void fun(int *w,int m,int n){int i,j,t;for(i=m;i<n;i++){t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;}}int main(){int i,a[9]={1,2,3,4,5,6,7,8,9};fun(a,4,9);for(i=0;i<9;i++)printf("%4d",a[i]);return 0;}2018年33.程序填空,按照题目要求,将正内容填入各题卡相应位置,使程序完整。
2012年湖南省对口高考C语言试题(含答案)
2012年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2012年20.以下正确的C语言自定义标识符是A.int B.a.3 C._7c D.5d_2012年21.已知i=3,执行j=i++后,i和j的值分别为A.i=4 -2 B.i=4 j=3 C.i=3 j=3 D.i=3 j=22012年22.C语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语句是A.空语句B.break语句C.return语句D.continue语句二、基本操作题(每空3分,共12分)2012年28.C语言中,文件操作fopen函数的原型为FILE * fopen(char *filename,char *mode),用于打开一个指定文件,若成功则返回一个与之关联的流,否则返回①NULL(或0);代码片段FILE * fp=fopen("C:\\test.dat","a")的含义是以②追加的方式打开路径"C:\\test.dat"对应的文件,当访问的文件是二进制文件时,还需要在字符串“a”后增加一个字符③b ,以上代码片段对应的关闭文件的C语言代码是④fclose(fp); 。
三、综合应用题(每小题20分,每空5分,共20分)2012年31.30人参观博物馆共花50美元,其中成年男子门票为3美元/人,成年女子2美元/人,小孩1美元/人。
编程输出成年男子、成年女子和小孩人数的所有组合。
题目分析如下:设x,y,z分别代表成年男子、成年女子和小孩人数。
按题目要求,可得下面方程:x+y+z=30 (1)3x+2y+z=50 (2)用程序求此不定方程的非负整数解,可先通过(2)-(1)式得:2x+y=20 (3)由(3)式可知,x变化范围是①0-10根据以上分析编写程序如下:#include<stdio.h>main(){int x,y,z;/*x,y,z分别代表成年男子、成年女子、小孩人数*/printf("Men Women Chlidren\n");for(x=0;②x<=10 ;x++){___③y=20-2*x___________;/*按照(3)式根据x求y*/___④_z=30-x-y______ ___;/*由(1)式求得z*/if(3*x+2*y+z==50) /*当前得到的一组解是否满足式(2)*/printf("%d %d %d\n",x,y,z);}}四、程序分析题(本大题共3小题,共75分)2012年33.阅读程序,写出运行结果(每空5分,共25分)(1) #include<stdio.h>main(){int a=3,b=4;a%=b+=a+=(a+b);printf("%d,%d",a,b);}运行结果是____10,14__(2) #include<stdio.h>main(){int x=2,y=7,z=5;switch(x>2){case 1:switch(y>0){case 1:printf("1");break;case 2:printf("2");break;}case 0:switch(z==5){case 0:printf("3");break;case 1:printf("4");break;default:printf("5");break;}default:printf("6");}}运行结果是__46____(3) #include<stdio.h>main(){int a=8,y=0;do{a+=2:y+=a;if(y>30)break;}while(a=10);printf("a=%d y=%d\n",a,y);}运行结果是_a=12 y=34_____(4) #include<stdio.h>func(int a,int b){return a=a+b,a%b;}main(){int x=9,y=7,z=3,rels;rels=func(func(x,y),z);printf("%d\n",l<<rels);}运行结果是_ 4_____(5) #include<stdio.h>main(){char ch[2][5]={"1981","0921"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=1;j<=3;j+=2)s=10*s+p[i][j]-'0';printf("%d",s);}运行结果是_ 9191_____2012年34.程序填空。
湖南省历界对口高考C语言真题(答案)
历界高考C语言真题2007年真题一、程序分析题1、#include <>main( ){ int x=3;?doprintf(“%d”,x-=2);while(!(--x));}2、#include <>main( ){ int x=4,y=8,z;z=x<<2|y;printf(“%d”,z);}$3、#include <>main( ){ char x=’E’,y=’e’;printf(“%c”,x+32);printf(“%c”,(x--,y++));printf(“%c\n”,x==yx+=32:(y-=32));}4、#include <>main( ){ int t=2;-while(t<5)switch(t%2){ case 0: t++;printf(“#”);break;case 1: t+=2;printf(“*”);default:printf(“\n”);}}5、#include <>main( ){ char str1[50]=”Beijing 2008”,*q=str1;.char str2[50]=”One world One Dream!”,*p=str2;while(*p!=’\0’) p++;while(*q!=’\0’) *p++=*q++;*p=’\0’;printf(“%s”,str2);}6 #include <>#include<>\main( ){ char s[]=”abcdefg”,t;while(i<j){ t=s[i],s[i]=s[j],a[j]=t;i++,j--;}puts(s);}二、程序填空题1、下面程序的功能是求1000以内的完数。
完数是指一个数的子因子之和等于这个数本身。
(#include<>main( ){ int i,j,sum;for(i=1; i<1000 ;i++){ sum=0;for(j=1;j<i;j++)if(i%j==0)sum+=j;if( sum==i ) printf(“%d\n”,i);}~}2、以下程序是统计一维数组arr中小于平均值的元素个数。
2019年湖南省对口高考C语言试题(含答案)
2019年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2019年20.已知“int w=1,x=2,y=3,z=4;”,则表达式“w>x?w:z>y?z:x”的值是()A. 1B. 2C. 3D. 42019年21.若有定义语句“int a[3][5];”,按内存中的数据存放顺序,a数组的第10个元素是()A. a[1][4]B. a[1][3]C. a[2][3]D. a[2][4]2019年22.已知“int a=1,b=2,c=3,x;”与“x=(a^b)&c;”,则x的值为()A. 0B. 1C. 2D. 3三、综合应用题(每小题20分,每空5分,共20分)2019年30.下面程序功能是统计5个同学成绩(1~100间的整数)中低于平均成绩的人数并输出,请补全以下代码。
#include “stdio.h”main(){ int i,count=0;① int score[5] ;float ave=0.0;printf(“input 5 scores:\n”);for(i=0;i<5;i++){②scanf("%d",&score[i]) ;ave+=score[i];}③ave/=5for(i=0;i<5;i++)if(④score[i]<ave )count++;printf(“%2d”,count);}四、程序分析题(本大题共3小题,共75分)2019年32. 阅读程序,写出运行结果(每空5分,共25分)(1)下列程序的运行结果是①0,1#include “stdio.h”main(){ int i =0;do printf(“%d,”,i);while(i++);printf(“%d\n”,i);}(2)下列程序的运行结果是②7#include “stdio.h”int fun(char *s) {char *t=s;while(*t++);return t-s;}main(){char t[8]=”123456”;printf(“%d\n”,fun(t));}(3)下列程序的运行结果是③56 #include “stdio.h”int fun(char s[]) {int n=0;while(*s<=’9’&&*s>=’0’){n=10*n+*s-‘0’;s++;}return n;}main() {printf(“%d\n”,fun(“056a0”));}(4)下列程序的运行结果是④f(n)=2#include “stdio.h”int f(int n) {if(n<=2)return 1;elsereturn f(n-1)+f(n-2);}main() {int n=5;printf(“f(n)=%d\n”,f(3));}(5)下列程序的运行结果是⑤the result is 2#include <stdio.h>int f(char *s,char *t) {int n=0,num=0; char *p,*r;while(*s){p=s;r=t;while(*r)if(*r==*p){r++;p++;}elsebreak;if(*r==’\0’)num+=1;n++;s++;}return num;}main(){printf(“the result is %d\n”,f(“aabdabc”,”ab”));}2019年33. 程序填空。
2019年湖南省对口高考C语言试题(含答案)
2019年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2019年20. 已知“int w=1,x=2,y=3,z=4;”,则表达式“w>xw:z>yz:x”的值是()A. 1B. 2C. 3D. 42019年21. 若有定义语句“int a[3][5];”,按内存中的数据存放顺序,a数组的第10个元素是()A. a[1][4]B. a[1][3]C. a[2][3]D. a[2][4]2019年22. 已知“int a=1,b=2,c=3,x;”与“x=(a^b)&c;”,则x的值为()A. 0B. 1C. 2D. 3三、综合应用题(每小题20分,每空5分,共20分)2019年30.下面程序功能是统计5个同学成绩(1~100间的整数)中低于平均成绩的人数并输出,请补全以下代码。
#include “”main(){ int i,count=0;①int score[5] ;float ave=;printf(“input 5 scores:\n”);for(i=0;i<5;i++){②scanf("%d",&score[i]) ;ave+=score[i];}③ave/=5for(i=0;i<5;i++)if(④score[i]<ave )count++;printf(“%2d”,count);}四、程序分析题(本大题共3小题,共75分)2019年32. 阅读程序,写出运行结果(每空5分,共25分)(1)下列程序的运行结果是①0,1#include “”main(){ int i =0;do printf(“%d,”,i);while(i++);printf(“%d\n”,i);}(2)下列程序的运行结果是②7#include “”int fun(char *s) {char *t=s;while(*t++);return t-s;}main(){char t[8]=”123456”;printf(“%d\n”,fun(t));}(3)下列程序的运行结果是③56 #include “”int fun(char s[]) {int n=0;while(*s<=’9’&&*s>=’0’){n=10*n+*s-‘0’;s++;}return n;}main() {printf(“%d\n”,fun(“056a0”));}(4)下列程序的运行结果是④f(n)=2#include “”int f(int n) {if(n<=2)return 1;elsereturn f(n-1)+f(n-2);}main() {int n=5;printf(“f(n)=%d\n”,f(3));}(5)下列程序的运行结果是⑤the result is 2#include <>int f(char *s,char *t) {int n=0,num=0; char *p,*r;while(*s){p=s;r=t;while(*r)if(*r==*p){r++;p++;}elsebreak;if(*r==’\0’)num+=1;n++;s++;}return num;}main(){printf(“the result is %d\n”,f(“aabdabc”,”ab”));}2019年33. 程序填空。
c语言考试试题及答案
c语言考试试题及答案C语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. StringC. intD. array答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 在C语言中,以下哪个是正确的字符串定义?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. string str[10] = "Hello";答案:A4. 下列哪个选项是C语言中数组的正确声明方式?A. int array[10];B. int array(10);C. int array = 10;D. int array = {10};答案:A5. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()答案:A6. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. %D. /答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. C语言中,以下哪个语句用于结束一个循环?A. continue;B. break;C. return;D. exit;答案:B9. 在C语言中,哪个函数用于打印输出?A. printf()B. print()C. display()D. show()答案:A10. 以下哪个选项是C语言中正确的条件语句?A. if (x = 10)B. if (x == 10)C. if (x : 10)D. if (x / 10)答案:B二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。
对口高考计算机c试题及答案
对口高考计算机c试题及答案一、选择题1. 下列选项中,属于操作系统的是:A. 服务器B. 数据库C. 编程语言D. Linux2. 如何定义一个常量?A. #defineB. #includeC. intD. float3. 在C语言中,下列哪个函数用于输出字符到屏幕上?A. scanfB. printfC. getcharD. putchar4. 在计算机中,1KB等于多少字节?A. 1000B. 1024C. 2048D. 40965. 在C语言中,以下哪个运算符优先级最高?A. <<B. ||C. *D. %二、填空题1. C语言中,用来表示真假值的关键字是___。
2. 在编译C程序时,生成的可执行文件的扩展名通常是___。
3. C语言中,用来定义一个整型变量的关键字是___。
4. 在C语言中,通过引入头文件的方式来使用已经定义好的函数,这个关键字是___。
5. 在C语言中,用于从键盘上接收一个字符的函数是___。
三、简答题1. 什么是循环结构?请举例说明循环结构在计算机程序中的应用。
循环结构是程序中的一种控制结构,可以重复执行一段代码块直到满足特定条件才停止。
循环结构主要用于解决需要重复执行的任务,例如计算一个数的阶乘、输出九九乘法表等。
2. 什么是逻辑运算符?请列举C语言中常用的逻辑运算符。
逻辑运算符用于连接两个或多个条件,判断整个条件表达式的真假。
在C语言中,常用的逻辑运算符有:- 逻辑与(&&):两个条件都为真时,返回真;否则返回假。
- 逻辑或(||):两个条件中至少有一个为真时,返回真;否则返回假。
- 逻辑非(!):对条件取反,如果条件为真,则返回假;如果条件为假,则返回真。
3. 请解释以下几个数据类型的作用和用法:- int- float- char- int:int是C语言中用于表示整型数据的数据类型。
它可以存储整数,并且可以进行加、减、乘、除等算术运算操作。
对口单招c语言试题及答案
对口单招c语言试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个类?A. structB. classC. enumD. union答案:B2. C语言中,哪个函数用于将浮点数转换为字符串?A. sprintfB. scanfC. printfD. fprintf答案:A3. 下列哪个选项不是C语言标准库函数?A. mallocB. freeC. strcpyD. rand答案:D4. 在C语言中,以下哪个操作符用于计算两个整数的乘积?A. *B. /C. %D.++答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. funB. defineC. functionD. void答案:D二、填空题6. C语言中,用于定义一个结构体的关键字是______。
答案:struct7. 当需要在C语言中包含标准输入输出库时,需要在程序文件顶部包含的头文件是______。
答案:stdio.h8. 在C语言中,用于动态分配内存的函数是______。
答案:malloc9. C语言中,用于字符串连接的函数是______。
答案:strcat10. 在C语言中,表示逻辑与的操作符是______。
答案:&&三、简答题11. 请简述C语言中指针的概念及其用途。
答案:指针是一种变量,其存储的是另一个变量的内存地址。
在C 语言中,指针可以用来直接访问内存,提高程序的运行效率,实现动态内存分配,以及方便地处理数组和字符串等数据结构。
12. 解释C语言中的“堆”和“栈”的区别。
答案:栈是用于存储局部变量和函数调用的内存区域,由编译器自动管理,具有后进先出的特性。
堆是用于动态内存分配的内存区域,由程序员手动管理,可以申请任意大小的内存块,具有任意的访问顺序。
四、编程题13. 编写一个C语言程序,实现两个整数的交换。
```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a, b;printf("Enter two numbers: ");scanf("%d %d", &a, &b);printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```14. 请编写一个C语言程序,用于计算一个字符串的长度。
湖南对口升学试题:c语言期中考试练习题(高教版).doc
衡山县职业中专对口C语言期中考试(2016\10\27)班级:________ 姓名:_________ 成绩:得分评卷人一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的号码填入题后括号中。
每小题5分)(1)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(2)以下选项中可用作C程序合法实数的是A) .1e0B) 3.0e0.2C) E9D) 9.12E(3)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);A)_1B)AaBc C)a_b D)a—b(4)若有定义:double a=12;int i=58,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(5) 有以下程序#includeVoid fun(char *C){ while(*C){if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是A)hello beijingB)Hello BeijingC)HELLO BEIJINGD)hELLO Beijing(6)有以下程序main(){ chara[30],b[30];scanf("%s",a);gets(b);printf("%s\n %s\n",a,b);}程序运行时若输入:how areyou? I am fine<回车>则输出结果是A)how areyou? B)howI am fine are you? I am fineC)how areyou? I am fineD)how are you?(7)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(8)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(9)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(10)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(11) fread(buf , 64,2,fp)的功能是:( )A)从fp所指向的文件中,读出整数64,并存放在buf中;B)从fp所指向的文件中,读出整数64和2,并存放在buf中;C)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;D)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;(12)以下程序的功能是( ) 。
湖南省对口升学C语言第二次测试题(1-2章)
一、填空题(每题1 分,共10分)1、C语言中,字符型数据在内存中以形式存放。
2、C语言规定,main函数的位置。
3、C语言规定,可执行程序的开始执行点是。
4、如果int x=1,y=2,表达式y=1.0+x/y后y的值是。
5、C程序是由函数组成,其中只能有一个主函数函数。
6、在一个C语言程序中,注释部分两侧的分界符分别为、。
7、如果int m=5,y=2;表达式y+=y-=m*=y后y的值是。
8、C语言程序中的语句都是用结束。
9、设int x=1, y=1; 表达式(!x||y--)的值是。
10、设x=2.5,a=7,y=4, 则表达式x+a%3+(int)(x+y)的值是。
二、选择题(每题2分,共60分)1.以下程序的输出结果是A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}2.语句:printf("%d \n",12 &012);的输出结果是A) 12 B) 8 C) 6 D) 0123.设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A)不定值B)2 C)1 D)04.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为( )A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车5.以下程序的输出结果是( )A) 17,021,0x11 B) 17,17,17B) 17,0x11,021 D) 17,21,11main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}6.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值7.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是()A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2D)h/2*(a+b)8.假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A)9 B)—2 C)—1 D)89.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A) c=b=a;B) (a=c) ‖(b=c) ;C) (a=c) &&(b=c);C) a=c=b;10.一下关于switch语句和break语句的描述中,正确的是()A)在switch语句中,必须使用break语句B)break语句只能用于switch语句C)在switch语句中,可以根据需要使用或不使用break语句。
2018年湖南省对口高考C语言试题(含答案)
2018 年湖南省对口高考计算机 C 语言试题一、单项选择题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共 3 小题,每题 5 分,共 15 分)2018 年 20. 若“ int a=12;”,执行“ a/=a+8;”后,a的值是2018 年 21. 若“ int a=5,b;”,执行“ b=a>>2;”后,b的值是2018 年22.若“char a[6]="abcde";” ,执行“printf("%d",strlen(a));”后,输出的结果是三、综合应用题(每题20 分,每空 5 分,共 20 分)2018 年 30. 入夏标志住春夏季节完成变换,天气学上入夏的标准是必定要连续 5 天日平均气温达到 22℃或以上,则这连续 5 天中的第一天为入夏季。
函数 fun 的功能是判断 5 月份可否入夏并输出有关信息,若入夏就返回是哪天,否则返回 -1 。
请补全以下代码。
#include<>int fun(int a[],int n){ /*a存放某月的每日气温值,n存放的是此月的天数 */int i,c=0;for(i=0;i<n;i++){if(① a[i]>=22){c++;if(c>=5)② return i+1-c;也许return i-4else③ continue;}④ c=0;}return -1;}int main(){int t[31]={20,21,22,22,19,18,18,19,22,23,22,21,20,21,24,22,25,24,23,21,23,22,21,22,25,26,30,28,27,28}int d;d=fun(t,31);if(d==-1)printf( “Not in summer n”)elseprintf(“5-%d in summer\n ” ,d+1) ;return 0;}四、程序解析题(本大题共 3 小题,共 75 分)2018 年 32. 阅读程序,写出运行结果(每空 5 分,共 25 分)(1)以下程序的运行结果是① gcd=7#include <>int main(){int a=14,b=35,c;if(a<b){c=a;a=b;b=c; }c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("gcd=%d\n",b);return 0;}(2)以下方程的运行结果是②#include <>int main(){int a[20],i,m=10,k=8;for(i=0;m>0;i++){a[i]=m%k;}for(i--;i>=0;i--)printf("%d\n", a[i]);return 0;}(3)以下程序的运行结果是③result=2018 #include<>int main(){char str[50]="welcome2018";int i,n=0;for(i=0;str[i]!='\0';i++)if('0'<=str[i]&& str[i]<='9')n=n*10+str[i]-'0';printf("result=%d\n",n);return 0;}(4) 以下程序的运行结果是④ 120#include<>int f(n){if(n==1||n==0)return 1;return(n*f(n-1));}int main(){ printf("%d",f(5)); return 0;}i= 4 5 6 78t=w[8]=9 8 76 5j=n-2=7(5 )以下程序的运行结果是⑤ 5 6 7 8 9 1 2 3 46j--j-- 5j-- 4#include<>void fun(int *w,int m,int n){int i,j,t;for(i=m;i<n;i++){t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;}}int main(){int i,a[9]={1,2,3,4,5,6,7,8,9};fun(a,4,9);for(i=0;i<9;i++)printf("%4d",a[i]);return 0;}2018 年 33. 程序填空,依照题目要求,将正内容填入各题卡相应地址,使程序完满。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
历界高考C语言真题2007年真题一、程序分析题1、#include <stdio.h>main( ){ int x=3;doprintf(“%d”,x-=2);while(!(--x));}2、#include <stdio.h>main( ){ int x=4,y=8,z;z=x<<2|y;printf(“%d”,z);}3、#include <stdio.h>main( ){ char x=’E’,y=’e’;printf(“%c”,x+32);printf(“%c”,(x--,y++));printf(“%c\n”,x==y?x+=32:(y-=32));}4、#include <stdio.h>main( ){ int t=2;while(t<5)switch(t%2){ case 0: t++;printf(“#”);break;case 1: t+=2;printf(“*”);default:printf(“\n”);}}5、#include <stdio.h>main( ){ char str1[50]=”Beijing 2008”,*q=str1;char str2[50]=”One world One Dream!”,*p=str2;while(*p!=’\0’) p++;while(*q!=’\0’) *p++=*q++;printf(“%s”,str2);}6 #include <stdio.h>#include<string.h>main( ) Array { char s[]=”abcdefg”,t;int i=0,j=strlen(s)-1;while(i<j){ t=s[i],s[i]=s[j],a[j]=t;i++,j--;}puts(s);}二、程序填空题1、下面程序的功能是求1000以的完数。
完数是指一个数的子因子之和等于这个数本身。
#include<stdio.h>main( ){ int i,j,sum;for(i=1; i<1000 ;i++){ sum=0;for(j=1;j<i;j++)if(i%j==0)sum+=j;if( sum==i ) printf(“%d\n”,i);}}2、以下程序是统计一维数组arr 中小于平均值的元素个数。
#include<stdio.h> #define N 7 int fun(int s[],float aver) { int i,count=0;for(i=0;i<N;i++) if( s[i]<aver ) count++; return count;}main( ){ int i,arr[N]={87,34,5,78,90,66,88}; float aver=0; for(i=0;i<N;i++) aver+=arr[i]; aver=aver/N;printf(“统计结果为:%d ”, fun(arr,aver ); }三、程序改错题,不得增行或删行。
1、下面的程序是求∑=m1!n n,在函数fun()中存在两处错误,请标记并改正。
#include<stdio.h>long fun(int x) { int m,n,t;long sum; long sum=1; for(m=1;m<=x;m++){ t=1;for(n=1;n<=m;n++)t=m*n; t*=n; sum+=t; }return sum;}main( ){ int num;scanf(“%d”,&num);printf(“sum=%ld\n”,fun(num));}2、以下程序的功能是:从字符串str中,删除所有字母c,不区分大小写。
如输入字符串”abcCdefcfCg”,删除后的字符串为”abdefg”。
程序有两错误,请标记并改正。
#include<stdio.h>main( ){ char str[81];int i=0,j=0;gets(str);while(str[i]!=’\0’){ if(str[i]!=’c’||str[i]!=’C’) { if(str[i]!=’c’&&str[i]!=’C’)str[j]=str[i]; str[j++]=str[i];i++;}str[j]=’\0’;printf(“%s”,str);}3、以下程序从一个二进制文件中读出结构体数据,并将结构体数据输出在屏幕上。
程序中有三处错误,请标记并改正。
#include<stdio.h>struct student{ char name[10];float score;}stu;main( ){ file *f; { FILE *f;if((f=fopen(“a.dat”,”r”))==NULL){ printf(“cannot open outfile\n”);exit(0);}while(feof(f)) while(!feof(f)){ fread(stu,sizeof(struct student),1,f); { fread(&stu,sizeof(struct student),1,f);printf(“%s,%.2f\n”,,stu.score);}fclose(f);}四、程序设计题1、已知一个数列从1项开始的前6项为:0,0,1,1,2,4,以后的各项都是其相邻的前3项之和,计算并输出该数列前20项之和。
2、写一函数sort(int x[ ],int n)实现选择法排序(从小到大)。
2008年真题一、程序分析题1、#include <stdio.h>main( ){ char a=55;a=~a&055;printf(“%x,%o”,a,a);}2、#include <stdio.h>#define test(x,y) x+ymain( ){ float c;c=2*test(3.2,5.4)/2;printf(“6.1f”,c);}3、#include <stdio.h>void fun(){ int x=1;static int y=1;printf(“%d%d ”,++x,y++); }main( ) { int i;for(i=0;i<2;i++) fun( ); }4、#include <stdio.h> main( ){ int a=12,b=0,n=0;do{ b+=2;a-=2+b; n++;} while(a>=0);printf(“%d ”,n); }5、#include <stdio.h> main( ){ int n=132,i=1,j,k,b[10];while(n!=0) { j=n%6; b[i]=j; n=n/6; i++; }for(k=i-1;k>0;k--)printf(“%d ”,b[k]); }二、程序填空题1、任意输入平面一点坐标(x,y),求该点到原点(0,0)的距离。
#include <stdio.h> #include <math.h> #include <malloc.h> typedef struct NODE { float x;float y; }NODE; main( ) { NODE *p;p= (NODE *)malloc(sizeof(NODE)) ;scanf(“%f,%f ”,&p->x,&p->y);printf(“%5.1f”,sqrt(p->x*p->x+p->y*p->y));free(p) ;}2、下列给定程序中,函数fun( )的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。
#include <stdio.h>#include <string.h>#define N 4#define M 50char *fun(char (*q)[M]){ int i;char *p;p=*q ;for(i=0;i<N;i++)if(strlen(p)< strlen(*(q+i)) )p=*(q+i) ;return p;}main( ){ char str[N][M]={“pingpong”,”basketball”,field hockey”,”softball”};char * longest; int i;longest=fun(str);printf(“The longest string:\n”);puts(longest);}3、下列程序定义了3×3的二维数组,并在主函数中自动赋值;函数fun的功能是使二维数组的上三角元素的值全部置0。
调用函数前调用函数后1 2 3 1 0 02 4 6 2 4 03 6 9 3 6 9#include <stdio.h>void fun(int n,int a[ ][3]);main( ){ int a[3][3],i,j;for(i=1;i<=3;i++)for(j=1;j<=3;j++)a[i-1][j-1] =i*j;fun(3,a);printf(“the result:\n”);for(i=0;i<3;i++){ for(j=0;j<3;j++) printf(“%4d ”,a[i][j]); printf(“\n ”); } }void fun(int n,int a[3][3]) { int i,j;for(i=0;i<n-1;i++)for(j=i+1; j<n ;j++) a[i][j]=0; }三、程序改错题,不得增行或删行。
1、下列程序的功能是求分数序列:⋯⋯8131321-21343455-5589,,,,的前8项之和。
程序中有2处错误,请标记并改正。
#include <stdio.h> main( ) { int i,flag=1;float a=144,b=89,s=0,t; for(i=1;i<=8;i++){ s+=a/b; { s+=flag*b/(a-b); flag=-flag;t=b;a=a-b;a=t; t=b;b=a-b;a=t; } printf(“%5.1f ”,s);}2、下列程序的功能是采用简单插入的排序方法,随机产生10个整数,按从小到大的顺序排列。