C语言上机考试试题7
c语言试题7
D:数组名不能作形参
第9题 (1分)
以下能对二维数组a进行正确初始化的语句是(B).
A:int a[2][]={{1,0,1},{5,2,3}};
B:int a[][3]={{1,2,3},{4,5,6}};
C:int a[2][4]={{1,2,3},{4,5},{6}};
A:long
B:_2Test
C:3Dmax
D:A.dat
━━━━━━━━━━━━━━━
四、程序填空 共2题 (共计16分)
━━━━━━━━━━━━━━━━
第1题 (8分)
/*-------------------------------------------------------
若a是float型变量,b是unsigned型变量,以下输入语句中合法的是(C).
A:scanf("%6.2f%d",&a,&b);
B:scanf("%f%n",&a,&b);
C:scanf("%f%3o",&a,&b);
D:scanf("%f%f",&a,&b);
第30题 (1分)
以下选项中合法的用户标识符是(B).
第14题 (2分)
int x=4,y=z=2;x=x==(y=z); 则x的值为【0】.
第15题 (2分)
输入整型变量a的值. int a; scanf("%d",【&a】);
━━━━━━━━━━━━━━━
二、判断 共10题 (共计10分)
全国计算机等级考试三级C语言上机题库(含答案,考试作弊必备)
题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。
int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsV al(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10; if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}★题目3函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。
C语言试题 (7)
本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。
不得增行与减行,改正后使程序运行正确存盘即可。
改错题的源文件分为:modi1.c,第1题分值为:10分,给定程序的功能是:计算某足球队在联赛中的积分等决定名次的参数。
设已知某队在m场比赛(2≤m≤50)中各场的进球数和失球数(存入组长组xx),则可算出它的积分(胜一场得3分,平一场得1分,负一场得0分)、净胜球数n和总进球数与总失球数之比r。
例如:若输入“4”和31、11、20、12、12、12、12、12,则应输出...The total mark:8The net score:28The ration of win vs lost:1.60请改正程序中的错误,使它能计算出正确的结果。
注意不得增行或删行,也不得更改程序的结构!#include "conio.h"#include "stdio.h"struct winlost{ int win;int lost;};struct result{ int t;int n;float r;};void total(int m,struct winlost xx[],struct result * final){int i;final->t=0;final->n=0;final->r=0.0;for(i=0;i<m;i++){if(xx[i].win>xx[i].lost)/********found**********/final->t+=2;else/********found**********/if(xx[i].win=xx[i].lost)final->t+=1;final->n+=xx[i].win;final->r+=xx[i].lost;}i=final->n;final->n=i-final->r;final->r=i/final->r;}void main(void){int i,m;struct winlost aa[50];struct result last;printf("\nHow many simes of competetion close the team tale:");scanf("%d",&m);printf("\cPlease enter %d results of each competition",m);printf("(win lost):\n");for(i=0;i<m;i++)scanf("%d%d",&(aa[i].win),&(aa[i].lost));total(m,aa,&last);printf("\nThe result of each competition:");for(i=0;i<m;i++)printf("\n No.%2d:%2d(win:lost)",i+1,aa[i].win,aa[i].lost);printf("\n\nThe total mark:%2d",last.t);printf("\nThe net score:%2d",last.n);printf("\nThe ration of win vs lost:%5.2f",last.r);}请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。
C语言上机试题及答案
实验一Visual C++6.0的使用及顺序结构程序设计一、实验目的1、掌握启动和退出VC6 的方法。
2、熟悉 VC6 开发环境。
3、初步掌握简单程序的上机操作基本步骤,熟悉 C 单文件程序的输入、编译、链接和运行过程。
4、初步掌握程序的编辑修改和调试。
5、熟练使用赋值运算、算术运算等表达式。
6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。
请同学们按照下面的实验指导学习VisualC++6.0的使用。
1 .启动 VisualC++6 .0 开发环境(1)单击开“始”按钮,选择程“序”——〉“Microsoft Visual Studio6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。
(2)单击“结束”按钮,关闭窗口,进入VC6.0 开发环境的主窗口。
2 .使用 Visual C++6.0 对一个 C 程序进行编辑、编译、连接和运行。
⑴分析Visual C++6.0 中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。
⑵步骤①编辑图 1-1 New 对话框编辑是将 C 源程序输入计算机的过程。
在Visual C++6.0 主界面下,点击File 菜单,选择Ne w 菜单项,即可出现New 对话框,如图1-1 所示。
在弹出窗口中的Files 标签页下,选择C++ Sour ce File。
在选项卡右面的File 编辑框里输入文件名如“Exa.c”,在 Location 编辑框里输入文件路径,2如 : \test”。
点击 OK 按钮。
将出现编辑窗口 ,如图 1-2 所示。
在图 1-2 所示的右端编辑窗口里输 入以下 C 源程序并保存文件。
图 1-2 编辑窗口②编译编译是使用系统提供的编译器将文本文件 Exa.c 生成机器语言的过程 ,结果为 Exa.obj ,由于没有 得到系统分配的绝对地址,还不能直接运行,如图 1-3 所示。
C语言上机题参考答案
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);
7-8-C语言上机考试试题3
C语言上机考试试题-3一、选择题(评分标准 20 分,每小题2分)1. 以下选项中可作为C语言合法常量的是________。
(A) -80. ( B) -080 (C) (D)2. 以下叙述中正确的是________。
(A) 用C程序实现的算法必须要有输入和输出操作(B) 用C程序实现的算法可以没有输出但必须要输入(C) 用C程序实现的算法可以没有输入但必须要有输出(D) 用C程序实现的算法可以既没有输入也没有输出3. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是________。
(A) 数组a和b的长度相同 (B) a数组长度小于b数组长度(C) a数组长度大于b数组长度 (D) 上述说法都不对4. 以下叙述中错误的是________。
(A) 数组名代表的是数组所占存储区的首地址,其值不可改变。
(B) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。
(C) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
(D) 可以通过赋初值的方式确定数组元素的个数。
5. 以下叙述中正确的是________。
(A) 预处理命令行必须位于源文件的开头(B) 在源文件的一行上可以有多条预处理命令(C) 宏名必须用大写字母表示(D) 宏替换不占用程序的运行时间6. 表达式strlen(”hello”) 的值是________。
(A)4 (B)5 (C)6 (D)77. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入________,则a和b的值都是10。
(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=108. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是_______。
计算机二级《C语言》上机操作试题及答案
计算机二级《C语言》上机操作试题及答案计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。
下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。
A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的'(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。
A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。
A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。
A.一致性B.分类性C.多态性D.标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。
三级C语言上机南开100题_修订word版
*******************************************************************************☆题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
部分源程序存在文件prog1.c中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}******************************************************************************★题目3(字符型题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。
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语言上机考试系统试题及答案(上机系统部分)
例如,输入下面矩阵:
1 2 3
4 5 6
7 8 9
其转置矩阵为:
1 4 7
2 5 8
3 6 9
则程序输出:
2 6 10
6 10 14
10 14 18
注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语
句,并将横线去掉。
#include <stdio.h>
#include<conio.h>
void fun (int a[3][3], int b[3][3])
{
int i,j;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",t[i][j]);
printf("\n");
}
}【参考答案】
程序填空题:第9行 bb[i]=0 第24行 bb[5]++ 第26行 p++;【 ++p; p=p+1; p+=1; 】
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 ");
c语言上机考试题库
c语言上机考试题库单项选择题1.有char c=’1’,下面说法中正确的是()。
A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。
A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。
A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。
x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。
A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。
A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。
A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。
A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。
A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。
大一c语言上机考试题及答案
大一c语言上机考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的整型常量表示?A. 0x1AB. 1.2E3C. 0b1010D. 0'123答案:A2. 若有定义 int a=5;,则表达式 a+=a-=a*=a 执行后,变量a的值是多少?A. 0B. 25C. -5D. 125答案:C3. 下列哪个函数不能正确计算字符串长度?A. strlen()B. sizeof()C. strnlen()D. wcslen()答案:B4. C语言中,以下哪个选项是合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int b[] = {1, 2, 3, 4, 5};C. int c[5] = {1, 2, 3};D. int d[5] = {1, 2, 3, 4, 5, 6};答案:B5. 下列哪个选项不是C语言中的运算符?A. +=B. ||C. &&D.答案:D6. C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. void add(int a, int b);C. int add(int, int);D. void add(int a, b);答案:C7. 若有定义 int x=10;,则以下哪个表达式的结果为非零值?A. x % 2B. x / 2C. x + 2D. x - 10答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprint()D. fscan()答案:A9. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D10. C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[20];};B. struct Student student;C. struct {int id;char name[20];};D. A和C答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。
经典新版计算机二级C语言上机试题
#include <stdio.h> #include <string.h> void fun(char *p,char *q,char *c) { int k=0; while(*p||*q) /**********************found***********************/ { if (*p<=*q) c[k]=*q; else c[k]=*p; if(*p) p++; if(*q) q++ ; /**********************found***********************/ k++ } } void main() { char a[10]="fshADfg",b[10]="sdAEdi",c[80]={'\0'}; fun(a,b,c); printf("The string a:"); puts(a); printf("The string b:"); puts(b); printf("The result :"); puts(c); }
例题2 填空题
试题程序
下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
例题6 填空题
1
下列给定程序中,函数fun()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
c语言上机考试题库
c语言上机考试题库1. 编写一个程序,从键盘输入两个整数,然后交换它们的值并输出。
```c#include <stdio.h>int main(){int num1, num2, temp;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);temp = num1;num1 = num2;num2 = temp;printf("交换后的值为:%d %d\n", num1, num2);return 0;}```2. 编写一个程序,输入一个整数,判断该数是奇数还是偶数,并输出对应结果。
```cint main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0){printf("%d是偶数\n", num);}else{printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个大写字母,将其转换为小写字母并输出。
```cint main(){char upperCase, lowerCase;printf("请输入一个大写字母:");scanf("%c", &upperCase);lowerCase = upperCase + 32;printf("转换为小写字母:%c\n", lowerCase);return 0;}```4. 编写一个程序,输入一个字符串,然后判断该字符串是否为回文,并输出对应结果。
```c#include <stdio.h>#include <string.h>int main(){char str[100];int i, j, flag = 1;printf("请输入一个字符串:");gets(str);for(i = 0, j = strlen(str) - 1; i < j; i++, j--) {if(str[i] != str[j]){flag = 0;break;}}if(flag == 1){printf("该字符串是回文\n");}else{printf("该字符串不是回文\n");}return 0;}```5. 编写一个程序,输入一个整数n,计算并输出1到n的累加和。
c语言上机考试题及答案
c语言上机考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,正确的是()。
A. 数组必须初始化B. 数组的大小在编译时确定C. 数组可以赋值给另一个数组D. 数组可以作为函数的参数答案:B3. C语言中,用于文件操作的库函数存放在()。
A. stdio.hB. stdlib.hC. string.hD. math.h答案:A4. 下列选项中,不属于C语言标准输入输出函数的是()。
A. printfB. scanfC. getcharD. malloc5. 在C语言中,用于定义枚举类型的关键字是()。
A. enumB. structC. unionD. typedef答案:A6. C语言中,用于定义指针的关键字是()。
A. charB. intC. floatD. *答案:D7. 在C语言中,用于定义函数的关键字是()。
A. structB. voidC. intD. function答案:B8. 下列关于C语言中函数的描述中,错误的是()。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以嵌套定义D. 函数可以递归调用答案:C9. 在C语言中,用于定义联合体的关键字是()。
B. unionC. enumD. typedef答案:B10. C语言中,用于定义宏的预处理命令是()。
A. #defineB. #includeC. #pragmaD. #if答案:A二、填空题(每题2分,共20分)1. 在C语言中,()运算符用于定义常量。
答案:#define2. C语言中,()函数用于将字符数组转换为字符串。
答案:strcpy3. 在C语言中,()运算符用于强制类型转换。
答案:(type)或(type)4. C语言中,()函数用于打开文件。
答案:fopen5. 在C语言中,()函数用于关闭文件。
(完整word版)C语言考试题库及答案
(完整word版)C语言考试题库及答案C语言理论上机考试选择题部分(共200题)1、下面程序的输出是___D______#include<stdio。
h〉void main(){ int k=11;printf(”k=%d,k=%o,k=%x\n",k,k,k);}A)k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D)k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j;D) a=b+c=1;3、下面合法的C语言字符常量是______A____. A)'\t’ B) "A" C) 65D) A4、表达式: 10!=9的值是________D____。
A)true B)非零值C) 0 D)15、C语言提供的合法的数据类型关键字是_____B____.A) Double B)short C)integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A)反码B) 补码C)EBCDIC码D)ASCII码7、C语言程序的基本单位是_____C______。
A)程序行B)语句C) 函数D)字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A)552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__。
#include〈stdio。
h〉void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C)15 D)10(完整word版)C语言考试题库及答案10、下面程序的输出是____B______。
#include<stdio。
c语言试题7
第七章结构型、共同型和枚举型一、单项选择题1.对以下结构定义:struct { int len; char *str ; } *p; 表达式(*p)->str++中的++加在(D)A. 指针str上B. 指针p上C. str所指的内容上D. 表达式语法有错2.存放100个学生的数据,包括学号,姓名,成绩。
在如下的定义中,不正确的是(B)。
A.struct student { int sno; char name[20]; float score } stu[100];B.struct student stu[100] { int sno; char name[20]; float score } ;C.struct { int sno; char name[20]; float score } stu[100];D.struct student { int sno; char name[20]; float score } ; struct student stu[100];3.设有定义语句struct { int x ; int y ;} d[2]={{1,3}, {2,7}};则printf (“%d\n”, d[0].y/d[0].x*d[1].x ); 的输出是(D)。
A.0 B.1 C.3 D.64.设有定义语句enum team {my, your = 4, his, her=his+10} ;则printf(“%d,%d,%d,%d\n”, my, your, his, her) ;的输出是(D)。
A.0,1,2,3 B.0,4,0,10 C.0,4,5,15 D.1,4,5,15 5.以下对枚举类型名的定义中正确的是(B)。
A.enum a={one, two, three}; B.enum a {a1, a2, a3} ;C.enum a={‘1’, ’2’, ’3’} ; D.enum a {“one”, ”two”, ”three”} ;6.若有如下定义,则printf (“%d\n”, sizeof (them)) ; 的输出是(C)。
(完整版)C语言上机练习题及答案
(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。
# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。
# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。
C语言上机试题(7)
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结
果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
***********************************
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
第 20套
试题说明
***********************************
第一题(30分)
给定程序的功能是求k!(k<13)并通过函数名传回主函数。
求平方, 结果存在c数组中。
例如: 当a数组中的值是: 1、3、5、7、8, b数组中的值是: 2、3、4、5、8
调用该函数后, c中存放的数据是: 49、4、1、16、3
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
个元素的值, 然后输出对角线元素之和。
请改正程序中的错误或在横线处填上适当的内容并把横线删除, 使它能得出
正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
***********************************
第三题(40分)
你编写的若干语句。
第 18套
试题说明
***********************************
第一题(30分)
给定程序的功能是将在字符串s中出现、而未在字符串t中出现的字符, 构成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
果自负)。该程序功能:分别统计字符串中所有英文字母中的各元音字 母个数。例如:在程序中输入: apple 结果:1 1 0 0 0 答案:gets(a); 运行样例1行 运行样例1:apple 结果:1 1 0 0 0 3. 该程序功能:运行时若输入a、n的值分别为3、6,则输出表达式 3+33+333+3333+33333+333333的值。 #include <stdio.h> void main() { int i,a,n,t=0; int s=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++) { t=t*10+i; /*$1*/ s=s+t; } printf("%d\n",s); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语 句 t=t*10+i; 有错误,请改正(注意:不得加行、减行、加句、减句, 否则后果自负)。该程序功能:根据输入情况来输出一个表达式的值。 例如:在程序中输入: 3 3 ,结果为表达式 3+33+333的值:369。 答案:t=t*10+a; 运行样例1行 运行样例1:3 3 结果:369 4. 以下函数mystrcat(str1,str2)的作用是:把字符串str2连接到字符串 str1后面,形参str1和str2用指针实现。 #include <stdio.h> void mystrcat(char *str1,char *str2) { while(*str1!='\0') str1++; while(*str2!='\0')
1. 设char ch;,写出若ch为大写字母,则改为小写字母,否则不变的条件 表达式为_______。 2. 求解赋值表达式 a=5+(c=6)后表达式值、a、c的值依次为________。 3. 若 a=13、b=25、c=-17,条件表达式 ((y=(a<b)?a:b)<c)?y:c 的值为 ________。 4. 3&5、3|5、3||5 的值分别为________。 5. 已知int a, b, t;,并已赋好值,写出如果a大于b,则交换它们值的C语 句:________。 第 (1) ch>=’A’&&ch<=’Z’? (2) 11,11,6 (3) -17 (4) 1、 (5) if(a>b) 7 ch=ch+32:ch=ch 7、 { t=a; 套 1 a=b; b=t;}
} } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据 程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加 句、减句,否则后果自负)。该程序功能:找一个数的所有因子加起来 正好是它自己本身的数,运行结果为:6。 答案:s+=j; 运行样例1行 运行样例1: 结果:6 2. 对整个数组向左循环走动(K标识为循环次数),如:数组走动 一次,则左边第一个数在最后一个位置,而第二个数在第一个位子上。 下列程序运行结果:4 5 6 7 1 2 3。请添加程序中空缺的语句。 #include <stdio.h> void f(int *a,int n,int k) { int i,j,t; for(i=0;i<k;i++) { t=a[0]; for(j=1;j<n;j++) /*$1*/ a[n-1]=t; } } void main() { int i,x[7]={1,2,3,4,5,6,7}; f(x,7,3); for(i=0;i<7;i++) printf("%5d",x[i]); printf("\n"); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据 程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加 句、减句,否则后果自负)。该程序功能:对整个数组向左循环走动 (K标识为循环次数),如数组走动一次,则左边第一个数成最后一个 位置,而第二个数在第一个位子上。数组中各元d\n",sizeof(a),strlen(strcpy(a,"Windows"))); 10. 在C语言程序中,在main函数中定义的变量称为局部变量。
套数 号
答案
71.T 2.T 3.T 4.F 5.F 6.F 7.F 8.F 9.T 10.T
三、填空题(1) ( 评分标准 10 分,每小题2 分)
四、程序改错题 ( 评分标准 20 分,每小题 5分 )
1. 该程序功能:输入x、eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直 到末项的绝对值小于eps为止。 #include <stdio.h> #include <math.h> void main() { float x,eps,s=1,t=1,i=1;
scanf("%f %f",&x,&eps); do{ t= -t*x/i; /*$1*/ s+=t; }while(fabs(t)>=eps); printf("%f\n",s); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语 句 t=-t*x/i ;有错误,请改正(注意:不得加行、减行、加句、减句,否 则后果自负)。该程序功能:计算多项式1-x+x*x/2!-x*x*x/3!+...的和直 到末项的绝对值小于eps为止。例如:在程序中输入: 0 2 结果 :1。 答案:t=-t*x/++i; 运行样例1行 运行样例1: 3 0.1 结果:0.302902 2.该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。 #include <stdio.h> #include <ctype.h> void main() { char a[80]; int n[5]={0},i; get(a); /*$1*/ for(i=0; a[i]!='\0'; i++) switch(tolower(a[i])) { case 'a': n[0]++; break; case 'e': n[1]++; break; case 'i': n[2]++; break; case 'o': n[3]++; break; case 'u': n[4]++; break; } for(i=0;i<5;i++) printf("%d ",n[i]); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句 get(a); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后
C语言上机考试试题-7
一、选择题 ( 评分标准 20 分,每小题2分 )
1. 执行语句“k=x++&&y++||z++;”(各变量当前值均为1)后,变量k、 x、y、z值依次为________。 (A)1、2、2、1 (B)1、2、2、2 (C)0、2、2、1 (D)0、2、 2、2 2. 计算变量x(x大于1)整数部分位数的表达式,可以写作________。 (A)(int)log10(x) (B)log10(x) (C)log10(x)+1 (D)(int)log10(x)+1 3. 判断变量x、y中有且只有1个值为0的表达式为________。 (A)!(x*y)&&x+y (B)(x*y)&&x+y (C)x*y==0 (D)x==0&&y!=0 4. 执行语句“for(s=0, k=1; s<20||k<10; k=k+2) s+=k;”后,s、k的值为 ________。 (A)25、9 (B)25、11 (C)36、11 (D)36、9 5. 下列程序 #include <stdio.h> int f(int n) { if (n<=0) return ( 1 ); else return ( f(n-1)*3+2 ); } void main() { printf(”%d”, f(4)); } 则运行结果是 。 (A) 5 (B) 17 (C) 53 (D) 161 6. 执行语句“for(float x=0, s=0; x!=60; x=x+0.3) s=s+x;”后,变量x的值 为________。 (A)不可能大于60 (B)不可能大于60.3 (C)一定小于60 (D)可 以远大于60 7. 声明语句为“char a[10]”,执行printf(“%d,%d\n”,sizeof(a),strlen(strcpy(a, ""Windows"")));语句后的输出结果为________。
五、程序填空( 评分标准 10 分,每小题5分)
1. 下列程序功能:找一个数的所有因子加起来正好是它自己本身的 数,运行结果为:6 。请添加程序中空缺的语句。 #include <stdio.h> void main() { int i,j,s; for(i=6;i<=10;i++) { s=0; for(j=1; j<i;j++) if(i%j==0) /*$1*/ if(s==i) printf("%d\n",s);