c++基本语句和一维数组测试题
C语言基础练习100题(含答案)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#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=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。
C语言实验__一维数组

实验6 一维数组实验要求:使用Visual C++ 6.0开发环境,完成以下习题。
1. (此题可不使用数组)输出1~100之间的不能被7整除的数。
(要求使用continue语句,如果其能被7整除则continue)。
源程序保存为6-1.c。
运行效果截图保存为6-1p.jpg。
2. 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
源程序保存为6-2.c。
运行效果截图保存为6-2p.jpg。
3. 定义一个100个元素的数组,依次赋值为1 ~ 100。
先输出其中能被3整除的数。
再输出其中能被5整除的数。
(注意数组的下标是从0开始。
)源程序保存为6-3.c。
运行效果截图保存为6-3p.jpg。
4. 让用户输入学生的人数n,然后输入这n个学生的语文成绩,保存在数组中。
然后分别计算输出:(1)统计语文成绩平均分。
(2)不及格的学生序号及成绩、并统计不及格人数。
(3)最高分的成绩及最高分的学生的序号。
源程序保存为6-4.c。
运行效果截图保存为6-4p.jpg。
5. 定义一个数组A存放6个学生的高数成绩,定义一个数组B存放这6个学生的英语成绩, 再定义一个数组C存放这6个学生的C++成绩。
在输入时,要求逐个学生的三门课成绩输入(即先输入第1个学生的三门课成绩,再输入第2个学生的三门课成绩,以此类推)。
求这6个同学三科的总分存放在数组D中,并输出。
源程序保存为6-5.c。
运行效果截图保存为6-5p.jpg。
6. 编程实现:简单版成绩管理系统1。
程序首先显示菜单,让用户选择1则添加一个学生的的记录,选择2则查看一个学生的记录,选择3则修改一个学生的记录,选择4则浏览所有学生记录。
每个学生记录由其学号、高数成绩、英语成绩、C++成绩组成。
(提示:定义一个100个元素的数组,存放学生的学号;定义一个100个元素的数组存放高数成绩,定义一个100个元素的数组存放英语成绩;定义一个100个元素的数组存放C++成绩;定义一个变量记录当前已经总共添加了多少个学生)当用户选择1之后,让用户输入要添加的学生的学号、高数成绩、英语成绩、C++成绩。
c++基本语句和一维数组测试题

C++阶段测试(三种基本结构+一维数组)班级姓名一、单项选择题(共15题,每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。
A.汇编语言B. C++C.FortranD.Basic⒉1TB代表的字节数是( )。
A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。
A.00101000B.001010100C.01000101D.001110014.下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。
A.296B.133C.256D.1995.要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。
#include <iostream> using namespace std; int main(){int n;float s; s = 1.0;for(n = 10; n > 1; n--) s = s + 1 / n;cout << s << endl; return 0;}程序运行后输出结果错误,导致错误结果的程序行是( )。
A.s = 1.0;B.for(n = 10; n > 1; n--)C.s = s + 1 / n;D.cout << s << endl;6设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。
A.x = (x * 100) + 0.5 / 100.0;B.x = (x * 100 + 0.5) / 100.0;C.x = (int)(x * 100 + 0.5)/100.0;D.x = (x / 100 + 0.5) * 100.0;7.有以下程序#include <iostream> using namespace std; int main(){int s, a, n;s = 0;a = 1;cin >> n; do{s += 1;a -= 2;}while(a != n); cout << s << endl; return 0;}若要使程序的输出值为2,则应该从键盘给n输入的值是( )。
C语言 第七章 数组期末测试习题与答案

C语言第七章数组期末测试习题与答案1、以下对一维整型数组a的正确说明是 ( )。
A.#define SIZE 10int a[SIZE];B.int a(10);C.int n=10,a[n];D.int n; scanf(“%d”,&n); int a[n];参考答案:A2、以下能对一维数组a进行正确初始化的语句是 ( )。
A.int a[10]={ };B.int a[10]={10*1};C.int a[10]=(0,0,0,0,0);D.int a[ ]={0};参考答案:B3、不是给数组的第一个元素赋值的语句是 ( )。
A.a[1]=1;B.int a[2]={1,0};C.int a[2];scanf (“%d”,&a[0]);D.int a[2]={1};参考答案:A4、下面程序的运行结果是 ( )。
main(){int a[6],i;for(i=1;i<6;i++){ a[i]=6*(i-2+4*(i>3))%5;printf("%2d",a[i]);}}A.-1 0 4 0 3B.-1 0 1 4 3C.-1 0 1 4 2D.-1 0 1 1 2参考答案:D5、下列定义正确的是 ( )。
A.int b[3]={2,5}B.int 4e[4]C. static int a[2]={1,2,3,4,5}D.int a(10)参考答案:A6、设有char str[10],下列语句正确的是 ( )。
A.printf("%s",str);B.scanf("%s",&str);C.printf("%c",str);D.printf("%s",str[0]);参考答案:B7、下列说法正确的是 ( )。
A.在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数B.在C语言中,数组元素的数据类型可以不一致C.在C语言中,数组元素的个数可以不确定,允许随机变动D.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组参考答案:D8、假设array是一个有10个元素的整型数组,则下列写法中正确的是A.array[-1]=0;B.array[0]='a';C.array[10]=0;D.array[0]=0;参考答案:D9、有一数组如下定义:int a[6]={1,2,3,4,5};执行for (i=0; i<6;i++) printf ("%d ",a[i]);后输出的结果是_____( )。
C语言上机模拟试题(1)

C语言机试模拟试题一、改错题:(30分)1、求一维数组a中的值为偶数的元素之和。
#include <stdio.h>sum ( int arr[ ],int n ){ int i,s;s = 0;for ( i=0; i<n; i++)if (arr[i] % 2 == 0)/************found************/s=s+i;改为:s = s + arr[i];return (s);}void main(){ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;/************found************/s = sum( a ,2 ); 改为:s = sum( a ,10 );printf("The result is: %d\n", s);}2、求一维数组a中的值为奇数的元素之和。
#include <conio.h>#include <stdio.h>int sum( int b[ ],int n ){ int i,s = 0;for ( i=0; i<n; i++)if (b[i] % 2 == 1)/************found************/s = s + b[i] 改为:s = s + b[i];return (s);}void main(){ int a[12]={10,4,2,7,3,12,5,34,5,9,21,19},n;/************found************/n = sum(a,2); 改为:n = sum(a,12);printf("The result is :%d\n",n );}3、求二维数组a中的最大值和最小值。
#include <stdio.h>void main(){ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min;//clrscr();max = min = a[0][0];for ( i=0; i<3; i++)/************found************/for ( j=1; j<3; j++)改为:for ( j=0; j<3; j++){ if ( max < a[i][j] )max = a[i][j];/************found************/if (min < a[i][j]) 改为:if (min > a[i][j])min = a[i][j];}printf("The max is: %d\n", max);printf("The min is: %d\n", min);}4、求一维数组a中的最大元素及其下标。
c语言一维数组上机考试题目

c语言一维数组上机考试题目
以下是一些关于C语言一维数组的常见上机考试题目:
1. 编写一个程序,输入一个整数n,求出1到n之间所有偶数的和。
2. 编写一个程序,输入一个整数n,求出1到n之间所有数字的阶乘之和。
3. 编写一个程序,输入一个整数n,求出1到n之间所有数字的立方之和。
4. 编写一个程序,输入一个整数n,求出1到n之间所有数字的平方之和。
5. 编写一个程序,输入一个整数n,求出1到n之间所有数字的倒数之和。
6. 编写一个程序,输入一个整数n,求出1到n之间所有数字的绝对值之和。
7. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子之和。
8. 编写一个程序,输入一个整数n,求出1到n之间所有数字的质因子之和。
9. 编写一个程序,输入一个整数n,求出1到n之间所有数字的奇数因子之和。
10. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子个数之和。
以上题目只是示例,实际上关于C语言一维数组的上机考试题目还有很多其他类型。
考生应该掌握一维数组的基本概念和操作,并且能够灵活运用数组来解决问题。
c语言编程题库100题

c语言编程题库100题C语言是一门广泛应用于计算机领域的高级编程语言。
对于学习者来说,掌握C语言编程是一项必修课程。
为此,我们为大家整理了100道C语言编程题,供大家练练手,锻炼编程能力。
以下是题目列表:##### 基础篇1、编写一个C程序,输出“Hello, World!”。
2、编写一个C程序,输入两个数,求和并输出结果。
3、编写一个C程序,输入三个数,求平均值并输出结果。
4、编写一个C程序,输入三个数,比较大小并输出最大值。
5、编写一个C程序,输入一个数,判断奇偶性并输出结果。
6、编写一个C程序,输入一个数,判断是否为质数并输出结果。
7、编写一个C程序,输入一个数,判断是否为闰年并输出结果。
8、编写一个C程序,输入一个字符,判断是否为字母并输出结果。
9、编写一个C程序,输入一个数,判断是否为回文数并输出结果。
10、编写一个C程序,输入一个年份和月份,输出该年该月的天数。
##### 数组篇11、编写一个C程序,输入一个整数数组,求所有元素之和并输出结果。
12、编写一个C程序,输入一个数组,找出最大值并输出结果。
13、编写一个C程序,输入一个数组,找出最小值并输出结果。
14、编写一个C程序,输入一个数组,计算平均值并输出结果。
15、编写一个C程序,输入一个数组,判断是否为升序或降序排列并输出结果。
16、编写一个C程序,输入一个数组,将数组元素逆序排列并输出结果。
17、编写一个C程序,输入两个数组,将两个数组合并后按照升序或降序排列并输出结果。
18、编写一个C程序,输入一个数组,输出数组中出现次数最多的元素。
19、编写一个C程序,输入一个数组,删除指定位置上的元素并输出结果。
20、编写一个C程序,输入一个数组和一个数,将该数插入到数组中并输出结果。
##### 字符串篇21、编写一个C程序,输入一个字符串,统计字符串中的字符个数并输出结果。
22、编写一个C程序,输入一个字符串,统计字符串中的单词个数并输出结果。
c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。
2. 声明一个浮点型常量,其值为3.14。
3. 将字符型变量 'A' 赋值给另一个字符型变量。
1.2 数据类型1. 将一个整型变量转换为浮点型变量。
2. 将一个长整型变量赋值给一个短整型变量。
3. 编写一个程序,输出不同数据类型所占的字节数。
1.3 运算符1. 计算5加3乘2的结果。
2. 判断两个整型变量是否相等。
3. 使用自增运算符使变量i的值增加1。
二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。
2. 输出用户输入的两个整数中的较大值。
3. 计算并输出圆的面积(给定半径)。
2.2 选择结构1. 判断一个整数是正数、负数还是零。
2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。
3. 编写一个程序,实现石头剪刀布的游戏。
2.3 循环结构1. 计算1到100所有整数的和。
2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。
3. 使用循环结构输出九九乘法表。
三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。
2. 定义一个函数,实现字符串的复制。
3. 创建一个函数,判断一个数是否为素数。
3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。
2. 编写一个递归函数,实现字符串的逆序输出。
3. 利用递归函数求解汉诺塔问题。
四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。
2. 计算一维数组中所有元素的和。
3. 找出一维数组中的最大值和最小值。
4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。
2. 计算二维数组对角线元素的和。
3. 实现矩阵的转置。
五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。
2. 使用指针实现两个整数的交换。
3. 编写一个函数,通过指针参数修改传入的字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++阶段测试(三种基本结构+一维数组)班级姓名一、单项选择题(共15题,每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。
A.汇编语言B. C++C.FortranD.Basic⒉1TB代表的字节数是( )。
A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。
A.00101000B.001010100C.01000101D.001110014.下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。
A.296B.133C.256D.1995.要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。
#include <iostream> using namespace std; int main(){int n;float s; s = 1.0;for(n = 10; n > 1; n--) s = s + 1 / n;cout << s << endl; return 0;}程序运行后输出结果错误,导致错误结果的程序行是( )。
A.s = 1.0;B.for(n = 10; n > 1; n--)C.s = s + 1 / n;D.cout << s << endl;6设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。
A.x = (x * 100) + 0.5 / 100.0;B.x = (x * 100 + 0.5) / 100.0;C.x = (int)(x * 100 + 0.5)/100.0;D.x = (x / 100 + 0.5) * 100.0;7.有以下程序#include <iostream> using namespace std; int main(){int s, a, n;s = 0;a = 1;cin >> n; do{s += 1;a -= 2;}while(a != n); cout << s << endl; return 0;}若要使程序的输出值为2,则应该从键盘给n输入的值是( )。
A.-1B.-3C.-5D.08.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c>0。
s = a;for(b = 1; b <= c; b++)s += 1;则与上述程序段功能等价的赋值语句是( )。
A. s = a + bB. s = a + cC. s = s + cD. s = b + c9.若有定义: int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A. 2.500000B. 2.750000C. 3.500000D. 0.00000010. 在C/C++语言中,逻辑值“真”用( )表示。
A. trueB. 大于0的数C. 非0整数D. 非0的数11. 以下程序段的输出结果是()。
int x=10, y=10;cout<<x--<<", "<<--y<<endl;A.10, 9B.9, 10C. 10, 10D. 9, 912.下列程序中,正确计算1,2,...,100这100个自然数之和sum(初始值为0)的是()A. i = 1;do{sum+= i;i++;}while (i <= 100)B. i = 1;do{sum += i;i++;}while (i >100);C. i = 1;while (i >100){sum +=1 ;i++;}D. i = 1;while (i >= 100){sum += i ;}13. 二进制数11.01在十进制下是()A. 3.25B. 4.125C. 6.25D. 11.12514.在十六进制表示法中,字母A相当于十进制中的()A. 9B. 10C. 15D. 1615. IPv4协议使用32位地址,随着其不断被分配,地址资源日趋枯竭,因此,它正逐渐被使用()位地址的IPv6协议所取代。
A. 40B. 48C. 64D. 128二、问题求解书架上有4本不同的书A、B、C、D。
其中A和B是红皮的,C和D是黑皮的。
把这4本书摆在书架上,满足所有黑皮的书都排在一起的摆法有_________种。
满足A必须比C靠左,所有红皮的书要摆在一起,所有黑皮的书要摆放在一起,共有_________种摆法。
三、阅读程序写结果1.#include <iostream>using namespace std;int main(){int a, b, c, d, ans;cin >> a >> b >> c;d = a- b;a = d + c;ans = a * b;cout << "Ans = " << ans << endl; return 0;}输入:2 3 4输出:2.#include <iostream>#include <string>using namespace std;int main() {string st; //定义一个名叫st的字符串对象int i, len;getline(cin, st);// 接收一个字符串,需要包含//#include<string>len = st.size(); //取st字符串的长度for(i = 0; i < len; i++)if(st[i] >= 'a' && st[i] <= 'z')st[i] = st[i] - 'a' + 'A';cout << st << endl;return 0;}输入:Hello, my name is Lostmonkey.输出:HELLO, MY NAME IS LOSTMONKEY.3.#include <iostream>using namespace std;const int SIZE = 100;int main(){int p[SIZE];int n, tot, i, cn;tot = 0;cin >> n;for(i = 1; i <= n; i++)p[i] = 1;for(i = 2; i <= n; i++){if(p[i] == 1)tot++;cn = i * 2;while(cn <= n){p[cn] = 0;cn += i;}}cout << tot << endl;return 0;}输入:30输出:4.#include <iostream>using namespace std;int main (){int a, b;cin>>a>>bcout<<a<<"+"<<b<<"="<<a+b<<end1; }输入:3 ,5输出:_________5.#include <iostream>using namespace std;int main (){int a,b,u,i,num;cin>>a>>b>>u;num = 0;for (i = a; i <= b ; i++)if((i % u)== 0)num++;cout<<num<<end1;return 0;} 输入:1,100,15输出:________6. #include <iostream>using namespace std;int main (){const int SIZE = 100;int n, f , i, left,right ,middle ,a[SIZE];cin>>n>>ffor(i = 1; i<= n; i++)cin>>a;left = 1;right = n;do {middle = (left + right) /2 ;if (f <= a[middle])right = middle +1;} while (left < right);cout<<left<<end1;return 0;}输入:12 ,172,4,6,9,11,15,17,18,19,20,21,25输出:__________7. #include <iostream>using name space std;int main(){const int SIZE = 100;int height [SIZE], num [SIZE], n , ans ;cin>>n;for(int i = 0 ; i< n ; i++){cin>>height;num = 1;for(int J = 0 ;J<i ;j++){if (( height[J] < height) && (num[J] >= num[ i ])) num = num[J]+1;}}ans = 0;for (int i = 0 ; i < n ; i++) {if (num > ans ) ans = num ;}}输入:6, 2,5,3,11,12,4输出:__ __ ___四、完善程序围绕着山顶有n个洞,一只狐狸和一只兔子各住一个洞。
狐狸总想吃掉兔子。
一天兔子对狐狸说:“你想吃我有一个条件,先把洞从1~n编上号,你从n号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限。
若能找到我,你就可以饱餐一顿。
不过在没有找到我以前不能停下来。
”狐狸满口答应就开始找了,它从早到晚找了1000次洞,累得昏了过去也没有找到兔子。
请问,免子躲在几号洞里?#include <iostream>using namespace std;int a[101]={0};int main(){int n,i,j;cout<<"请输入山顶的动数n:";cin>>n;a[n]=1;j=0;for(i=1;i<=1000;i++){}cout<<"兔子藏在这些洞里是安全的:";for(i=1;i<=n;i++){if(a[i]==0) cout<<i<<" ";}return 0;}。