c语言模拟题目第十套

合集下载

c语言期末模拟考试题及答案

c语言期末模拟考试题及答案

C语言期末模拟考试题及答案29、若在程序中用到“strlenO”函数时,应在程序开头写上(D)0 (1分)A、#include<math. h> B、#include<stdio. h>C、#include<stdlib. h>D、#include<string. h>30、若有int f (int a, int b);,则说明函数(1 分)A、是一个内部函数B、是一个外部函数f( B )oC、只能在本文件中使用D、不能被同一源程序其他本文件中的函数调用31、声明一个函数为外部函数,应该在声明函数的函数类型的前面加(C)。

(1分)A、autoB、staticC、externD、register32、若有int a=3, *pa; float f=4. 5, *pf;,则下列表述中,错误的是(B )。

(1分) A、pa=&a B、pa=&f C、pf=&f D、*pf=a+f 33、设char s[10]; int i=5;,下列表达式中,正确的表达式是(B )。

(1分)A、 s[i+6] B、*(s+i)C、*(&s+i)D、*((s++)+i 34、若有int a[10], *p=a;,则(C)。

(1 分) A、p++可以使p指向下一个字节B、p+=2相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[l]的首地址D、p+=2可以使p 指向下一个元素,即a[l] 的首地址35设有语句:inta[10] = {0,1, 2, 3, 4, 5, 6, 7, 8, 9}, i, *p=a;,下列表达式中,对a数组元素引用错误的是(D )o (1分)A、p[i]B、aEp-a]C、*(&a[i])D、*(*a (a+i))36、在C语句中,&后跟指针变量名,表示该指针变量的((C)。

(1分)A、值B、别名C、地址D、类型37、若程序中包含有以下说明和定义:struct ex{ int x, y;}… struct ex, x, y; … ,则在计算机上调试时,(A )。

计算机系C语言编程10题及答案

计算机系C语言编程10题及答案

计算机系C语言编程10题及答案1)/* 输入10个数,分别统计其中正数、负数、零的个数。

*/#include "stdio.h"#define N 10main(){int i,zsum=0,fsum=0,lsum=0;float x;for(i=1;i<=N;i++){printf("请输入第%d个数:",i);scanf("%f",&x);if(x>0)zsum++;else if(x==0)lsum++;elsefsum++;}printf("有%d个正数,%d个负数,%d个零",zsum,fsum,lsum);}2)/* 先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。

(设N为100)*/ #include "stdio.h"#include "stdlib.h"#include "time.h"#define N 100main(){int i,x;randomize();for(i=1;i<=N;i++){x=random(900)+100;printf("%d\t",x);if(x%3==0&&x%5==0&&x%7==0)printf("\n*%d*\n",x);}}3)/* 计算:1/2-2/3+3/4-4/5……,前100项和*/#include "stdio.h"main(){int i,t=1;float sum=0;for(i=1;i<=100;i++){sum=sum+(t*i*1.0)/(i+1);t=-t;}printf("%f",sum);}4)/* 打印出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方之和等于该数本身*/#include "stdio.h"#include "math.h"main(){int i,gw,sw,bw;for(i=100;i<=999;i++)gw=i%10;sw=i/10%10;bw=i/100%10;if(i==pow(gw,3)+pow(sw,3)+pow(bw,3))printf("%d\n",i);}}5)/* 把100~200之间的不能被3整除的数输出。

C语言-谭浩强著-第10章练习题

C语言-谭浩强著-第10章练习题

第10章对文件的输入输出(2012年9月真题)(40)有以下程序#include <stdio.h>main(){ FILE *fp;int i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++) printf("%d,",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3, B)1,2,3,3,2,1,C)1,2,3,4,5,6, D)6,5,4,3,2,1,答案:D(2012年3月真题)40、以下函数不能用于向文件写入数据的是A ftellB fwriteC fputcD fprintf答案:A(2011年9月真题)40.有以下程序#include<stdio.h>main(){FILE *fp; int k,n,i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp); fp=fopen("d2.dat","r");for(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);fclose(fp); printf("%d,%d\n",k,n); }程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456答案:C(2011年3月真题)(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是A)写操作结束后可以从头开始读 B)只能写不能读C)可以在原有内容后追加写 D)可以随意读和写(2010年3月真题)(40)有以下程序#include#include<stdio.h>main(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fopen("myfile.data","a+");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp); }程序运行后的输出结果是A)abc B) 28c C) abc28 D)因类型不一致而出错答案:B(2009年9月真题)(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件答案:C(2009年3月真题)40.有以下程序#include <stdio.h>main(){ FILE *f;f=fopen("filea.txt","w"); fprintf(f,"abc"); fclose(f); }若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt的内容为A)helloabc B)abclo C)abc D)abchello答案:C(2008年9月真题)(40)有以下程序#include <stdio.h>main(){ FILE *pf;char *s1="China", *s2="Beijing";pf=fopen("abc.dat","wb+");fwrite(s2,7,1,pf);rewind(pf); /*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);}以上程序执行后abc.dat文件的内容是A) China B) Chinang C) ChinaBeijing D) Bei jingChina答案:B(2008年4月真题)30、下列叙述中错误的是( )。

10级《C语言程序设计》考试模拟试卷

10级《C语言程序设计》考试模拟试卷

10级《C语言程序设计》考试模拟试卷1课程性质:必修使用范围:本科考试时间:2010年月日考试方式:闭卷学号______________专业_______班级____姓名___________成绩____一、选择题(每小题2分,共20分)(A)(1)若x、y、j和k都是int型变量,则计算表达式x=( k=32,j=6, i=4)后,x的值为。

A)4 B)16 C)32 D)52( B )(2)C语言中标识符只能由字母、数字和下划线组成,且第一个字符。

A)必须为字母 B)必须为字母或下划线C)必须为下划线 D)可以是字母、数字和下划线中任一种字符(D)(3)下面四个选项中,均是正确的数值常量或字符常量的选项是。

A)0.0 0f 8.9e '&' B)"a" 3.9e-2.5 1e1 '\"'C)'3' 011 0xFF00 0a D)+001 0xabcd 2e2 50( B)(4)已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是。

A)a=a*3=2 B)a+=a-=(b=4)*(a=3)C)x+y=-3*a D)y=float(i)(A)(5)若以下变量均是整型,且num=sum=5;则计算表达式num++,sum++,++num后num的值为。

A)7 B)8 C)9 D)10( B)(6)在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A)整型常量 B)整型常量或整型表达式C)整型表达式 D)任何类型的表达式( C)(7)以下能对一维数组a进行正确初始化的语句是。

A)int a[10]={0,0,0,0,0} B)int a[10]={ };C)int a[ ]={0}; D)int a[10]={10*1};/*各元素值为1*/(B)(8)下面程序(注:每行程序前面的数字表示行号)。

2018-2019年计算机级C语言10字符串模拟试题上课讲义

2018-2019年计算机级C语言10字符串模拟试题上课讲义

2018-2019年计算机级C语言10字符串模拟试题2018-2019年计算机级 C语言 10 字符串模拟试题1 [填空题]下面程序的功能是:对字符串从小到大进行排序并输出,请填空。

【答案】略【解析】strcmp(a[i],a[i+1]) book,6【解析】此程序段的功能是使字符串从大到小进行排列。

显然,第一空白处,是利用strcmp 函数比较字符串a[i]和a[i+1]的大小,若不符合题意,就进行调换;main函数中,sort函数是对数组book中的字符串按从小到大进行排序,所以第二空白处填入“book,6”(6是指book所指向的字符串的个数)。

2 [填空题]以下程序用以删除字符串中所有的空格,请填空。

【答案】略【解析】s[j]=s[i];j++;【解析】本题中相当于字符串S中存储着含有空格的字符,当发现空格的时候就用这个空格字符后面的字符前移覆盖这个空格字符,依次类推向后继续。

因此,应填s[j]s[i];j++;两条语句。

3 [填空题]若给fun函数的形参S传送字符串:”abe.6354abc”,则函数的返回值是_________。

(字符串中包括空格)【答案】略【解析】6354【解析】本题的考查点是函数的返回值。

这个函数的目的是提取出由函数的形参传送来的字符串中的数字字符,并通过相应字符位置计算出它们数值形式的幂,最后返回字符串中的数字字符的数值形式,所以函数的返回值应当是“6354”。

4 [填空题]以下程序的功能是将字符串s中所有小写字母'a'删去,请填空。

【答案】略【解析】s[i]!='a'【解析】本题是要将字符串s中所有小写字母'a'删去,所以if语句的判断条件应该是字符串s 中的字符和字符'a'不相同的时候,就把它仍然存在原来的数组中,若是和字符'a'相同,就不再保存它。

5 [单选题]执行以下程序段的输出结果是()。

VC语言上机试题及答案

VC语言上机试题及答案

C 语言上机考试题20套(试题)C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

C 语言上机考试题(第二套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n″, fun(10));}2.回文数是指正读和反读都一样的自然数。

例如,8, 121, 5445这三个数都是回文数。

求:(1) [1,1000]之内既是回文数,又是素数的最大整数。

(2) [1,1000]以内既是回文数,又是素数的整数有多少个。

3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。

c语言题库

c语言题库

c语言题库02-0. 整数四则运算(10)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者乔林(清华大学)本题要求编写程序,计算2个正整数的和、差、积、商并输出。

题目保证输入和输出全部在整型范围内。

输入格式:输入在一行中给出2个正整数A和B。

输出格式:在4行中按照格式“A 运算符B = 结果”顺序输出和、差、积、商。

输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1#includeint main(){int m,n;scanf("%d %d",&m,&n);printf("%d+%d=%d",m,n,m+n);printf("%d-%d=%d",m,n,m-n);printf("%d*%d=%d",m,n,m*n);printf("%d/%d=%d",m,n,m/n);}02-1. 厘米换算英尺英寸(15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者翁恺(浙江大学)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)*0.3048。

现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。

输入格式:输入在一行中给出1个正整数,单位是厘米。

输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。

输入样例:170输出样例:5 6#includeint main(){int longth;int foot,inch;double longs;scanf("%d",&longth);longs=longth*0.3048;foot=longs;inch=(longs-foot)*12;printf("%d %d",foot,inch);}02-2. 然后是几点(15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者翁恺(浙江大学)有时候人们用四位数字表示一个时间,比如1106表示11点零6分。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

C语言最终模拟题(含答案)

C语言最终模拟题(含答案)
D:定义语句无错,printf不能输出case的值
题号3...选择题A:(1分,正确答案B,学生答案B)
表达式:(int)((double)9/2)-(9)%2的值是()。
A:0
B:3
C:4
D:5
题号4...选择题A:(1分,正确答案B,学生答案D)
若有定义语句:int x=10;,则表达式x-=x+x的值为()。
C:3.89
D:4.0
题号29...选择题A:(1分,正确答案C,学生答案A)
已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( )。
A:3,1
B:15,12
C:15,1
D:3,12
题号30...选择题A:(1分,正确答案B,学生答案*)
A:s="Good";
B:s[20]="Good";
C:strcat(s,"Good");
D:strcpy(s,"Good");
题号28...选择题A:(1分,正确答案B,学生答案*)
已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为()。
A:3
B:3.0
D:可以在其他函数之前或之后
题号23...选择题A:(1分,正确答案D,学生答案B)
以下选项中,()是C语言关键字。
A:printf
B:include
C:fun
D:default
题号24...选择题A:(1分,正确答案A,学生答案*)
已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为()。

C语言程序设计试题第十套-试卷

C语言程序设计试题第十套-试卷

“程序设计基础--C”试卷试题一、单项选择题(每小题 2 分,共20 分)1.C 语言程序的三种基本结构是顺序结构、选择结构和______结构。

A、循环B、递归C、转移D、嵌套2.若x是单精度实型变量,表达式(x = 10/4) 的值是_____ 。

A、2.5B、2.0C、3D、 23. 表达式!x 等价于_____。

A、x==0B、x==1C、x != 0D、x != 14.若变量已正确定义且k 的值是4,计算表达式( j = k--) 后,_____。

A、j=3, k=3B、j=3, k=4C、j=4, k=4D、j=4, k=35. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。

A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.C语言中,形参的缺省的存储类说明是______。

A、autoB、staticC、registerD、extern7.下列语句定义pf为指向float类型变量f的指针,_____是正确的。

A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f; 8.表达式sizeof(“key”) 的值是______。

A、1B、2C、3D、49.将程序prog.c编译后运行:prog –nla hello world 则*(*(argv+2)) 是______。

A、’p’B、‘-‘C、‘h’D、‘w’10.若a是整型变量,表达式~(a ^ ~a ) 等价于______。

A、~aB、1C、0D、2试题二、填空题(每小题 3 分,共24 分)1.写出语句printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。

2.写出下列程序段的输出结果。

C语言上机考试题

C语言上机考试题

C语言上机考试题(第一套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>main(){int k,m,s=0,i,b=0;for(k=10000;k<=20000;k++){if(k%10==7){for(i=2,b=0;i<k;i++)if(k%i==0)b++;if(b==0)m=k,s++;}}printf("这样的素数有%d个。

\n 其中最大的一个是%d\n",s,m);}3.#include <stdio.h>main(){int a;printf("请输入一个需要判断的年份:\n");scanf("%d",&a);if(a%4==0&&a%100!=0)printf("是闰年\n");elseif(a%400==0)printf("是闰年\n");elseprintf("不是闰年\n"); }C语言上机考试题(第二套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){// clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>fun(int n){int i,j=0;for(i=2;i<n;i++)if(n%i==0)j++;return j;}main(){int a,b=0,d,e,k;for(k=1;k<10;k++)if(fun(k)==0)a=k,b++;for(k=10;k<100;k++)if(fun(k)==0){e=k%10,d=k/10;if(e==d)a=k,b++;}for(k=100;k<=1000;k++)if(fun(k)==0){e=k%10,d=k/100;if(e==d)a=k,b++;}printf("[1,1000]之内既是回文数,又是素数的最大整数:%d\n",a);printf("[1,1000]以内既是回文数,又是素数的整数有%d个\n",b);}3.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}C语言上机考试题(第三套)1.//#include "conio.h"#include "math.h"#include "stdio.h" int fun(int t){int a=0,b=1,c,k;for(k=1;;k++){c=b;b=a+b;a=c;if(a>t)break;}return a;}main(){int n;//clrscr();n=1000;printf("n = %d, f = %d\n",n, fun(n));}2.#include "stdio.h"main(){int a[3][3],i,j,s=0;printf("请依次输入一个3*3矩阵:\n");for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(i==j||i+j==2)s=s+a[i][j]*a[i][j];}printf("对角线平方和为:%d\n",s);}3.#include<stdio.h>#include<string.h>#define N 81fun(char str[]){int i=0,j;while(i<N){if(str[i]<=57&&str[i]>=48)for(j=i;j<N;j++)str[j]=str[j+1];elsei++;}puts(str);}main(){char str[N];printf("请随意输入字符:");gets(str);fun(str);}C语言上机考试题(第四套)1.//#include "conio.h"#include "math.h"#include "stdio.h"double fun( int n){double s=0;int i;for(i=1;i<n;i++)if(i%21==0)s+=i;return sqrt(s);}main(){// clrscr();printf("s=%f\n", fun (1000) ); }2.#include "stdio.h"main(){int a,b,k;for(;;){printf("请输入两数:\n");scanf("%d%d",&a,&b);if(a>0&&b>0)for(k=a;k>=1;k--)if(a%k==0&&b%k==0)break;if(a%k==0&&b%k==0)break;}printf("这两个数的最大公约数是:%d\n",k);}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.00005)break;}printf("%f\n",2*(s+1));}C语言上机考试题(第五套)1.#include <conio.h>#include <stdio.h>int fun(int array[3][3]){int a[3][3],i,j;int b[3][3];for(i=0;i<3;i++){for(j=0;j<3;j++)a[i][j]=array[j][i];}for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=a[i][j];}main(){int i,j;intarray[3][3]={{100,200,300},{400,50 0,600},{700,800,900}};// clrscr();for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("converted array:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}2.#include <stdio.h>main(){float x,y,s=0;int n;for(x=1;x<=100;x++){n=x;if(n%2==0)y=-1/x;elsey=1/x;s=s+y;}printf("前n项和为:%f\n",s); }3.#include<stdio.h> main(){int a[101]={0},i,n,s=0,t;for(n=2;n<=100;n++){for(t=0,i=2;i<n;i++){if(n%i==0)t++;}if(t==0)a[n]=n;}for(n=2;n<=100;n++)if(a[n]!=0&&a[n+2]!=0)s++;printf("2~100中的所有的亲密素数对的个数为:%4d\n",s);}C语言上机考试题(第六套)1.#include "stdio.h"main(){int a,b,c,s,k;printf("请输入一个大于2小于1000的数:\n");scanf("%d",&k);printf("它的所有质因子是:\n");for(a=2;a<=k;a++)if(k%a==0){for(s=0,b=2;b<a;b++)if(a%b==0)s++;if(s==0)printf("%5d",a);}printf("\n");}2.//#include "conio.h"#include "stdio.h"int fun (int n){int s=0,k;for(k=2;k<n;k++)if(n%k==0)s+=k;return s;}main(){//clrscr();printf("%d\n", fun (120));}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;int n;printf("请输入求和项数N:\n");scanf("%d",&n);for(i=1;i<=n;i++)s+=1/(i*(i+1));printf("数列前%d项求和为:%f\n",n,s);}C语言上机考试题(第七套)1.//#include <conio.h>#include <stdio.h>#include <math.h>double fun(double x , int n){double a=1,c,s=0,i;c=x;for(i=1;i<=n+1;i++){a=a*i;s=x/a+s;x=x*c;}s=s+1;return s;}main(){//clrscr();printf("%f\n", fun(0.3,10));}2.#include<stdio.h>main(){int a,b,c,d,k;for(k=100;k<=999;k++){a=k/100;b=(k-a*100)/10;c=k-a*100-b*10;d=a*a*a+b*b*b+c*c*c;if(k==d)printf("%5d",k);}printf("\n");}3.#include<stdio.h>#include<math.h>main(){float a,b,c,t,p;for(;;){printf("请正确输入三角形三边长:\n");scanf("%f%f%f",&a,&b,&c);if(a<b)t=a,a=b,b=t;if(b<c)t=b,b=c,c=t;if(a<b)t=a,a=b,b=t;if(a<b+c&&c>0)break;else continue;}p=(a+b+c)/2;t=sqrt(p*(p-a)*(p-b)*(p-c));printf("面积为:%f\n",t);}C语言上机考试题(第八套)1.#include <conio.h>#include <stdio.h>#include <string.h>float fun(int n){int i,s=0;float p=0;for(i=1;i<=n;i++){s+=i;p+=1.0/s;}return p;}main(){int n;float s;// clrscr()printf("\nPlease enter N:");scanf("%d", &n);s = fun(n);printf("the result is: %f\n", s); }2.#include<stdio.h>main(){int i;float h=100,s=100;for(i=1;i<=10;i++){h=h/2;s+=h*2;}printf("第10次落地时,共经过:%f米\n",s);printf("第10次反弹的高度为:%f米\n",h);}3.#include<stdio.h>double fun(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.000001)break;}s=2*(s+1);return s;}main(){printf("%f\n",fun());}C语言上机考试题(第九套)1.#include "conio.h"#include "stdio.h"void fun( int m, int k ){int a,b,e=1,s=0;for(b=m;;){a=b%k;b=b/k;s+=a*e,e=e*10;if(b<k){s+=b*e;break;}}printf("该数为:%d\n",s);}main( ){int b,n;//clrscr();printf("\nPlease enter a number and a basen\n");scanf("%d%d",&n,&b);fun(n,b);printf("\n");}2.#include "stdio.h"main(){int a,b;for(a=1;a<10;a++){b=a*a;if(b%10==a)printf("%4d\n",a);}for(a=10;a<100;a++){b=a*a;if(b%100==a)printf("%4d\n",a);}for(a=100;a<=1000;a++){b=a*a;if(b%1000==a)printf("%4d\n",a);}}3.#include<stdio.h>main(){float f1,f2,f;f1=2*(-1)*(-1)+3*(-1)+4;f2=-2*5.0*5.0+3*5.0-4;if(f1+f2<=2)f=2*(f1+f2)*(f1+f2)+3*(f1+f2) +4;elsef=-2*(f1+f2)*(f1+f2)+3*(f1+f2) -4;printf("计算结果为:%f\n",f); }C语言上机考试题(第十套)1.#include <conio.h>#include <stdio.h>long fun (int a, int n){long b,e,temp,t,k=1,sum=0;if(a<10&&a>0&&n>1&&n<10){temp=a;for(;k<=n;k++){for(b=0,e=1,t=1;t<=k;t++){a=temp;a=e*a;e=e*10;b+=-a;}sum+=b;}sum+=-2*b;return sum;}else printf("输入有的A或者N 有问题求和结果不正确\n");}main( ){int a, n;//clrscr() ;printf("\nPlease enter a and n:\n ") ;scanf("%d%d",&a,&n) ;printf("The value of function is: %1d\n",fun(a,n));}2.#include <stdio.h>fun(int n){int k,a=0;for(k=2;k<n;k++)if(n%k==0)a++;return a;}main(){int i,j,k,n,t,a,b;for(n=4;n<=100;n=n+2){for(i=2;i<n;i++){j=n-i;if(fun(i)==0&&fun(j)==0)break;}printf("%d=%d+%d\n",n,i,j);}}3.#include <stdio.h>main(){int k,l,m,s=0;for(k=0;k<=10;k++)for(l=0;l<=5;l++)for(m=0;m<=2;m++)if(100==k*10+l*20+m*50)s++;printf("共有%d 种不同的兑换方法\n",s);}C语言上机考试题(第十一套)1.#include<conio.h>#include <stdio.h>double fun ( int x[ ]){int a[1000];int i,j=0,k=0;double s=0;while(x[j]!='\0'){if(x[j]>0){a[k]=x[j];k++;}j++;}for(i=0;i<k;i++)s+=a[i];return s/k;}main( ){int x[1000]; int i=0;// clrscr();printf("\nPlease enter some data (end with 0) ");do{scanf("%d",&x[i]);}while(x[i++] !=0);printf("%f\n",fun ( x ));}2.#include<stdio.h>#include<string.h>#define N 10main(){char str[N];int i=0,flag=0;long num=0;printf("请输入连续数字字符(最多10为数字) :");gets(str);while(str[i]!='\0'&&str[i]!='a'){if(str[i]=='-')flag=1;elseif(str[i]=='+')flag=0;elsenum=num*10+(str[i]-'0');i++;}if(flag==1)num=-num;printf("由数字字符串转化成整数是:%ld\n",num);}3.#include<stdio.h>main(){int a,b,c,s=0;for(a=0;a<=33;a++)for(b=0;b<=50;b++)for(c=0;c<=100;c=c+2)if(100==3*a+2*b+c/2&&a+b+c ==100)s++;printf("共有驼法:%d种\n",s);}C语言上机考试题(第十二套)1.#include <conio.h>#include <stdio.h>float fun(int m, int n){float t,p,j,i,k,o;if(m<n)t=m,m=n,n=t;for(p=1,j=1,i=1,o=m;p<=m-n;o--,p++){j=o*j;i=p*i;}k=j/i;return k;}main() /*主函数*/{// clrscr();printf("P=%f\n", fun (12,8)); }2.#include<stdio.h>main(){int x,y,z,i;printf("1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数:\n");for(i=1;i<=1000;i++){x=i%7,y=i%11;if(x==0&&y!=0||y==0&&x!=0)printf("%4d",i);}printf("\n");}3.#include<stdio.h>main(){int a[3][3],i,j,sum=0;for (i=0;i<3;i++){for (j=0;j<3;j++)scanf("%d",&a[i][j]);}for (i=0;i<3;i++){for (j=0;j<3;j++){if(i+j==2||i==j)sum=sum+a[i][j];}}printf("%d",sum);}C语言上机考试题(第十三套)1.#include <stdio.h>double fun(int n){double a=1,b=2,c,sum=0;for(;n>0;n--){sum=a/b+sum;c=a+b;a=b;b=c;}return sum;}main(){int n;printf("Enter n: ");scanf("%d", &n);printf("\nThe result : %f \n", fun(n));}2.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}3.#include <stdio.h>main(){int k=1,sum=0;for(;k<200;k=k+2)sum=sum+k;printf("sum=%d\n",sum);}C语言上机考试题(第十四套)1.#include "conio.h"#include "stdio.h" #include "math.h"float fun(int n){float a=0,b=0,c=1,d,e,s=0,k;for(k=1;k<=n;k++){s+=sqrt(a);d=a+b+c;a=b,b=c;c=d;}return s;}main ( ){int n;//clrscr( );printf("Input N=");scanf("%d", &n);printf("%f\n", fun(n));}2.#include<stdio.h>fun(int s[10]){int i,j;for(i=1;i<10;i++)for(j=0;j<10-i;j++)if(s[j]<s[j+1]){int temp;temp=s[j];s[j]=s[j+1];s[j+1]=temp;}printf("这10个数按从大到小排列为:\n");for(i=0;i<10;i++)printf("%d",s[i]);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}3.#include<stdio.h>fun(int s[10]){int i;float a=0;for(i=1;i<9;i++)if(s[i]>s[i+1]){int temp;temp=s[i];s[i]=s[i+1];s[i+1]=temp;}printf("这10个数中最大的为:%d\n",s[9]);for(i=0;i<10;i++)a+=s[i];printf("平均数为:%.1f",a/10);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}C语言上机考试题(第十五套)1.#include"conio.h"#include"stdio.h"double fun(int m){double a=1,b,j,s=0;for(j=1;j<=m;j++){a=a*j;b=1/a;s+=b;}return s;}main(){int n;//clrscr();printf("Enter n ");scanf("%d", &n);printf("\nThe result is%1f\n", fun(n));}C语言上机考试题(第十六套)1.#include <math.h>#include <stdio.h>float fun(float num){float i=3.0,j=-1.0,k=1.0;while(fabs(1.0/i)>num){k=k+j/i;j=-j;i+=2;}return k*4;}main(){ float n1,n2;//clrsct( );printf("Enter a float numder:");scanf("%f",&n1);n2=fun(n1);printf("%6.4f\n",n2);}2.#include <stdio.h>#include <stdlib.h>void md(int num,int b[20]){int i;for(i=0;i<num;i++)b[i]=rand()%32768;}main(){ int a[20],n,i,j,temp;//clrsct();printf("Enter a int numder:");scanf("%d",&n);md(n,a);for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}printf("%8d",a[i]);}}3.#include <stdio.h>void main(){int i,j,k;for(i=2;i<=1000;i++){for(j=1,k=0;j<i;j++)if(i%j==0)k+=j;if(k==i)printf("%6d",k);}}C语言上机考试题(第十七套)1.#include "stdio.h"fun(int x,int y , int z ){int j=1;for(;;j++)if(j%x==0&&j%y==0&&j%z= =0)break;return j;}main( ) {int x1,x2,x3,j ;printf("Input x1 x2 x3:\n");scanf("%d%d%d",&x1,&x2,&x 3 ) ;printf("x1=%d, x2=%d, x3=%d\n",x1,x2,x3);j = fun(x1,x2,x3);printf("The minimal common multiple is:%d\n",j);}2.#include "stdio.h"main(){int a,b,sa,sb,k,t;for(a=1;a<=1000;a++){sa=0,sb=0;for(k=1;k<a;k++)if(a%k==0)sa+=k;if(sa<=1000)b=sa;for(t=1;t<b;t++)if(b%t==0)sb+=t;if(a==sb&&a!=b)printf("a=%d\ nb=%d\n\n\n",a,b);}}3.#include "stdio.h"main(){int a,b,c,s=0,k;for(k=100;k<1000;k++){a=k/100,b=k/10%10,c=k%10;if(a!=b&&a!=c&&b!=c)s++;}printf("这样的三位数有%d个\n",s);}C语言上机考试题(第十八套)1.#include<conio.h>#include<stdio.h>#include<math.h>int fun(int a){int i,b=0;for(i=2;i<=a;i++)if(a%i==0)b++;if(b==1)return 1;elsereturn 0;}main(){int x;// clrscr();printf("\nPlease enter a number:");scanf("%d", &x);printf("%d\n", fun(x));}2.#include<stdio.h>main(){int w=1,i;printf("求W=1+21+22+23+…+210\n");for(i=21;i<=210;i++)w+=i;printf("求得:w= %d\n",w);}3.#include<stdio.h>main(){int i,j,s=0,p=0,k=1,t[21];for(j=1;j<=21;j++){s=0;for(i=1;i<=2*j-1;i++)if((2*j-1)%i==0)s++;if(s==2){p++;t[k]=j;k++;}}printf("在[1,21]范围内梅森尼数个数为:%d\n",p);printf("其中最大的一个是:%d\n",t[p]);}C语言上机考试题(第十九套)1.#include <conio.h>#include <stdio.h>long fun ( int k){int i;long s=1;for(i=1;i<=k;i++)s *= i;return s;}main(){int k = 10 ;// clrscr();printf("%d!=%ld\n" , k, fun ( k )) ;}2.#include<stdio.h>main(){int i,j,s=0,w=0,p=0;for(i=2;i<=98;i++){s=0;w=0;for(j=2;j<=i;j++)if(i%j==0)s++;for(j=2;j<=i+2;j++)if((i+2)%j==0)w++;if(s==1&&w==1)p++;}printf("亲密素数个数为:%d\n",p);}3.#include<stdio.h>int add(int n){int j,p=0;for(j=1;j<=n;j++)p+=2*j-1;return p;}main(){int n,i,s=0;printf("数列为:S=1+(1+3)+(1+3+5)+…+(1+3+5+…+(2n-1))\n");printf("请输入项数n= ");scanf("%d",&n);for(i=1;i<=n;i++)s=s+add(i);printf("数列n项和s= %d\n",s); }C语言上机考试题(第二十套)1.#include<stdio.h>int fun(int n){return n*(n+1);}main(){int n,i;float s=0;printf("please enter n=");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/fun(n);printf("s=%f\n",s);} 3.#include<stdio.h>#include<math.h>main(){float a,b,c,d,x1,x2;printf("请输入a的值:");scanf("%f",&a);printf("请输入b的值:");scanf("%f",&b);printf("请输入c的值:");scanf("%f",&c);d=b*b-4*a*c;if(d>0){printf("x1=%4.2f\n",(-b+sqrt(d) )/(2*a));printf("x2=%4.2f\n",(-b-sqrt(d)) /(2*a));}elseif(d==0)printf("x1=x2=%4.2f\n",(-b)/(2 *a));else{printf("x1=%4.2f+%4.2fi\n",(-b )/(2*a),sqrt(-d)/(2*a));printf("x2=%4.2f-%4.2fi\n",(-b) /(2*a),sqrt(-d)/(2*a));}}。

C语言模拟题十套附答案

C语言模拟题十套附答案

第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下(A)是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=‟A‟;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。

C模拟考试题及参考答案(10级)

C模拟考试题及参考答案(10级)

C语言程序设计模拟试题(10级)一、单选题(、共30小题,每小题1分,共30分)1、有如下定义:struct date{int year,month,day;};struct person{char name[20];char sex;struct date birthday;} a;对结构体变量a的出生年份赋值时,下面正确的赋值语句是:()。

A. a.year=2010;B. birthday.year=2010;C. a.birthday.year=2010;D. year=2010;2、若定义了struct num{int a;int b;}d[3] ={{1,4},{2,5},{6,7}};则执行printf("%d\n",d[2].a* d[2].b/d[1].b);语句的输出结果是:()。

A.2B.2.5C.8D.8.43、以下程序的运行结果是:()。

void main(void){struct num{int x;int y;}cnum[2]={1,3,2,6};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].y);}A. 18B. 12C. 6D. 14、在VC++6.0中,若有以下说明:struct st{ int x;float y;};则:sizeof(struct st) 的值为():A. 6B. 8C. 10D. 125、若变量x和y均为整型,且x=y=1,则表达式y+=x+1的值为( )。

A. 3B. 2C. 1D.无正确结果6、表示关系x<=y<=z的c语言表达式为( )。

A. (X<=Y<=Z)B. (X<=Y)AND(Y<=Z)C. (X<=Y)&&(Y<=Z)D. (X<=Y)&(Y<=Z)7、x为int型变量,执行以下语句后,x的值为( )。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言模拟题目及答案

C语言模拟题目及答案

C语言模拟题目及答案一.选择题:1.设float x,y;则以下不合法的赋值语句是______。

x*=y+8; x=y=0; ++x; y=(x%2)/10;2. 设int k=017,g=111; 执行语句printf("%d,%x",k,g); 的输出是_____。

15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。

for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);4. 下面对数组的初始化,错误的是_____。

char s[5]="abc"; char s[5]={'a','b','c'}; char s[5]=" "; char s[5];s="abc";5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。

是无限循环 while循环执行10次循环体语句一次也不执行循环体语句只执行一次6. 如果x为int型且为5,则执行if(x--<5) printf("%d",x);else printf("%d",x++);后输出结果是______。

3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。

3 4 5 有语法错8. 在C语言的if语句中,可用作条件判断的表达式为_____。

算术表达式逻辑表达式关系表达式任意表达式9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。

n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。

大学生计算机二级C语言考试题库(第1-10套)

大学生计算机二级C语言考试题库(第1-10套)

所属年份:2010.9;2011.3;2012.3;下列给定程序中,函数fun 的功能是:计算如下公式()()()12222213572462n n s n -⨯+=-+-⨯…-1直到()()3221102n n -⨯+≤⨯,并且把计算结果作为函数值返回。

例如,若形参e 的值为1e -3,则函数返回值为0.551690。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C 中。

不得增行或删行,也不得更改程序的结构!、所属年份:2010.9;2011.3;2012.3;下列给定程序中函数fun 的功能是:求出如下分数序列的前n 项之和。

和值通过函数值返回。

23581321,,,,,,1235813…例如,若n =5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改的程序的结构! 所属年份:2010.9;2011.3;2012.3;请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函数。

注意:部分源程序在文件PROG1.C 中。

请勿改动主函数main 和其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。

【参考答案】(1)3.0或(double)3 (2)> (3) (t +1)【参考答案】(1)double fun(int n)(2)s =s +(double)a/b ;【参考答案】int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}所属年份:2010.9;2012.3下列给定程序中,函数fun 的功能是:计算如下公式前n 项的和并作为函数值返回。

C语言模拟考试题目

C语言模拟考试题目

C语言模拟考试题目一、单选(共60分)1. 若有说明: int a[3][4];则对a数组元素的正确引用是()A、a[2][4]B、a[1,3]C、a[1+1][0]D、a(2)(1)2. 在C语言中,函数返回值的类型可以是( )A、基本类型B、指针类型C、数组类型D、以上全是3. 以下函数调用语句中含有( )个实参。

func((exp1,exp2),exp3,exp4,exp5);A、1B、2C、4D、54. 以下正确的函数定义形式是()。

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) {}5. 以下正确的说法是( )。

A、用户若需要调用标准库函数,调用前必须重新定义B、用户可以重新定义标准库函数,如若此,该函数将失去原有定义C、系统不允许用户重新定义标准库函数D、用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用6. 以下错误的定义语句是( )A、int x[ ][3]= {{0},{1}, {1,2,3}};B、int x[4][3]={{l,2,3},{l,2,3},{l,2,3},{l,2,3}};C、int x[4][ ]={{l,2,3},{l,2,3},{l,2,3},{l,2,3}};D、int x[ ][3]={l,2,3,4};7. C语言规定,程序中各函数之间()。

A、既允许嵌套调用又允许递归调用B、不允许嵌套调用又不允许递归调用C、允许嵌套调用不允许递归调用D、不允许嵌套调用允许递归调用8. 以下关于return语句的叙述中正确的是( )。

A、一个自定义函数中必须有一条return语句B、一个自定义函数中可以根据不同情况设置多条return语句C、定义成void类型的函数中可以有带返回值的return语句D、没有return语句的自定义函数在执行结束时不能返回到调用处9. 当(),可以不进行函数类型说明。

《C语言程序设计》第10章在线测试

《C语言程序设计》第10章在线测试

《C语⾔程序设计》第10章在线测试A BC D 、下列描述中,合法的数组定义是:A BC D程序的执⾏是从A BC D 、下列语句中,正确的语句定义是A BC Dint a[3][4];A BC D2、若形参是简单变量形式,则对应的实参可以是:A、常量B、数组名C、简单变量D、数组元素3、下列描述中,合法的数组定义是( )。

A、char a[]={“String”};B、char a[5]={0,1,2,3,4};这组题特BT,答案明明是D,却ABCD全要选才算正确,让我测了N回!C、char a[]=“String”;D、char a[]={0,1,2,3,4,5};4、下列描述中,不能正确给字符数组str定义和赋值的是( )。

A、char str[]={"abcdefghijklmn "};B、char str[10];str={" abcdefghijklmn "};C、char str[10]={"abcdefghijklmn"};D、char str[10];strcpy(str,"abcdefghijklmn");5、如果想使下列数组a中5个元素的值全部为0,可以写成( )。

A、int a[5]={0:5};B、int a[5]={0};C、int a[5]={5:0};D、int a[5]={0,0,0,0,0};E、int a[5]=0;第三题、判断题(每题1分,5道题共5分)1、若有func((v1,v2),(v3,v4,v5),v6)调⽤,说明函数func有6个形参。

正确错误2、在说明⼀个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。

正确错误语⾔中⼆维数组的存储是⼀维的线性存储。

正确错误、数组必须先定义后使⽤。

正确错误、在定义数组时的常量表达式中可以包含变量。

正确错误Label1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十套以下不正确的叙述是()。

A、在C程序中所用的变量必须先定义后使用B、当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值C、程序中,APH和aph是两个不同的变量D、若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变【参考答案】错误B【学生答案】[未答此题]设:long w=65535,t=7654321;根据下面的输出结果,正确的程序段是( ).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf( "end");【参考答案】错误C【学生答案】[未答此题]不合法的if语句是:( )A、if(表达式) 语句1 else 语句2B、if(表达式) 语句C、if(表达式1) 语句1 else if(表达式2)语句2 else 语句3D、if 关系表达式语句1 else 语句2【参考答案】错误D【学生答案】[未答此题]在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式()。

A、只能用逻辑表达式或关系表达式B、只能用关系表达式C、可用任意表达式D、只能用逻辑表达式【参考答案】错误C【学生答案】[未答此题]以下语句中,循环次数不为10次的语句是( )。

A、for(i=1;i<10;i++);B、i=1;do{i++;}while(i<=10);C、i=10;do{i- -;}while(i>0);D、i=10;while(i>0){--i;}【参考答案】错误A【学生答案】[未答此题]下面程序的运行结果是( ).#include "stdio.h"void main(){int a=1,b=10;do{a++;b-=a;}while(b-->0);printf("a=%d,b=%d",a,b);}A、a=4,b=-2B、a=4,b=-1C、a=2,b=-1D、a=2,b=-2【参考答案】错误A【学生答案】[未答此题]若有说明: int a[][4]={0,0};则下面不正确的叙述是()。

A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0B、数组a的每个元素都可得到初值0C、二维数组a的第一维大小为1D、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1 【参考答案】错误A【学生答案】[未答此题]以下错误的描述是:函数调用可以()。

A、出现在执行语句中B、做为一个函数的实参C、出现在一个表达式中D、做为一个函数的形参【参考答案】错误D【学生答案】[未答此题]下列说法中正确的是( ).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.【参考答案】错误B【学生答案】[未答此题]与实际参数为实型数组名相对应的形式参数不可以定义为()。

A、float *a;B、float (*a)[3];C、float a;D、float a[];【参考答案】错误C【学生答案】[未答此题]一个C程序的执行是从本程序的main函数开始,到main函数结束【学生答案】错误未答此题============================================================【参考答案】正确关系运算符<= 与 == 的优先级相同。

【学生答案】错误未答此题============================================================【参考答案】错误已知x=2,y=2, 执行分支语句 if(x==y) y=1; else y=-1;后结果为-1. 【学生答案】错误未答此题============================================================【参考答案】错误break语句能够终止当前进行的多层循环.【学生答案】错误未答此题============================================================【参考答案】错误C语言中三种基本结构:顺序、选择、循环都只有一个出口.【学生答案】错误未答此题============================================================【参考答案】正确int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。

【学生答案】错误未答此题============================================================【参考答案】正确函数的返回值可以通过函数中的return语句获得。

【学生答案】错误未答此题============================================================【参考答案】正确包含文件是可以嵌套的.【学生答案】错误未答此题============================================================【参考答案】正确假设有int a[10], *p;则p=&a[0]与p=a等价【学生答案】错误未答此题============================================================【参考答案】正确共同体变量所占的内存长度等于最长的成员的长度。

【学生答案】错误未答此题============================================================【参考答案】正确若a是int型变量,则计算表达式 a=25/3%3 后a的值为_____.【空 1】错误【学生答案】[无]【参考答案】2============================================================当a=3,b=2,c=1;时,执行以下程序段后 a=_____. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;【空 1】错误【学生答案】[无]【参考答案】2============================================================以下do-while语句中循环体的执行次数是_____.a=10; b=0; do { b+=2; a-=2+b; } while (a>=0);【空 1】错误【学生答案】[无]【参考答案】3============================================================数组在内存中占一段连续的存储区,由_____代表它的首地址.【空 1】错误【学生答案】[无]【参考答案】数组名============================================================若有以下整型数组aa[10],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最小的元素的下标值是_____.【空 1】错误【学生答案】[无]【参考答案】8============================================================/*------------------------------------------------【程序设计】--------------------------------------------------请写一函数fun,该函数的功能是:把数组a中的数按从大到小的顺序排列。

数组的值从主函数中输入,排序结果也在主函数中输出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun中的begin和end之间的空白处填入你编写的若干语句。

部分源程序如下:--------------------------------------------------*/#include <stdio.h>#define N 10void fun(int a[ ], int n){/*********Begin**********//********** End **********/void main( ){int i=0;int a[N]={45,34,78,38,87,98,23,67,76,56};FILE *OUT;fun(a,10);printf("\n排序后的结果为:\n");for(i=0;i<=9;i++)printf("%5d",a[i] );printf("\n");if((OUT=fopen("out.dat","w"))==NULL)printf("写入文件失败!");for(i=0;i<=9;i++)fprintf(OUT,"%d\n",a[i]);fclose(OUT);}【参考代码】int i,j,t;for (i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}===============【考生代码】/*------------------------------------------------------ 【程序改错】--------------------------------------------------------功能:将一个字符串中的大写字母转换成小写字母。

相关文档
最新文档