写出程序运行结果和编程题
c语言试题及答案

c语言试题及答案c语言试题及答案C语言是一门通用计算机编程语言,应用广泛。
小编收集了c语言试题及答案,欢迎阅读。
c语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是( )。
main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是 ( )。
int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.以下程序的输出结果为( )。
int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf(" ");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为( )。
C语言上机练习题

1。
阅读以下程序,说出其功能和运算结果。
#include 〈stdio.h〉int main( ){int n ;int factorial(int n);scanf(”%d”,&n) ;printf(”%d\n",factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}若输入5↙2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”.#include <stdio.h〉int mian( ){printf(”Welcome to You!\n”)return 0 ;}3.若输入4,程序运行结果为【1 】,若输入-4,运行结果为【2 】,若输入10,运行结果为【3 】.#include〈stdio.h〉main(){i nt x,y;scanf(”%d",&x);if(x〈1){y=x;printf("x=%d,y=x=%d\n”,x,y);}else if(x<10){y=2*x-1;printf(”x=%d,y=2*x—1=%d\n",x,y);}else{y=3*x-11;printf(”x=%d,y=3*x—11=%d\n”,x,y);}}4.当输入19,2,21时下列程序运行的结果是()。
#include<stdio。
h>main(){int a,b,c,max;printf(”please scan three number a,b,c:\n");scanf(”%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max〈c)max=c;printf("max is:%d”,max);}5. 运行以下程序时,从键盘键入China#<CR〉(〈CR〉代表回车),则下面程序的运行结果是。
c练习题(1)

1.下面是一个加法程序,程序运行时等待拥护从键盘输入两整数,然后求出它们的和并输出之。
观察运行结果(程序输出),上机验证该程序。
#include <stdio.h>void main(){int a,b,c;printf(“Please input a,b;”);scanf(“%d,%d”,&a,&b);c=a+b;printf(“%d+%d=%d\n”,a,b,c);}2.下面的程序用来求三个数的平均值,上机验证该程序。
main(){float a,b,c,average;printf(“Please input a b c:”);scanf(“%f%f%f”,&a,&b,&c);average=(a+b+c)/3;printf(“The average value is :%f\n”,average);}练习题C语言基本语法知识一、选择题(1)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(3)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(4)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=kB)-k++C)k%int(f) D)k>=f>=m(5)有以下程序段int k=0,a=1,b=2,c=3; k=ac ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)0(6)以下选项中可作为C语言合法常量的是A)-80.B)-080C)-8e1.0D)-80.0e(7).以下不能定义为用户标识符的是A)MainB)_0C)_intD)sizeof(8)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e09)有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); 12 35 m=13 printf("%d%d\n",n++,++m); 35 14}程序运行后的输出结果是A)12353514 B)12353513C)12343514 D)12343513(10)有以下程序main(){int m=3,n=4,x;x=-m++; x= 3 m =4x=x+8/++n; x= 3+8/4= 5printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(11)以下符合C语言语法的实型常量是A) 1.2E0.5B) 3.14.159EC) .5E-3D) E15(12) 若以下选项中的变量已正确定义,则正确的赋值语句是A) x1=26.8%3B) 1+2=x2C) x3=0x12D) x4=1+2=3;(13) 设有以下定义int a=0;double b=1.25;char c=‟A‟;#define d 2则下面语句中错误的是A) a++; B) b++ C) c++; D) d++;实验二整型、浮点型、字符型数据使用1.编程序,输出如下图形:*********************#include <stdio.h>int main(){int i;int j;for(i=1;i<=5;i++){for(j = 1;j<=i;j++){printf("*");}printf("\n");}}2.编写程序,实现下面的输出格式和结果:a= 5,b= 7,a-b=-2,a/b= 71%c1=COMPUTER,c2=COMP ,c3= COMPx=31.19,y= -31.2,z=31.1900s=3.11900e+001,t= -3.12e+001#include <stdio.h>int main(){int a = 5;int b = 7;printf("%d\n",a-b);printf("%2.0f%%\n",(float)a/b*100);char c1[] = "COMPUTER",c2[]="COMP",c3[]="COMP";printf("%s %s %s\n",c1,c2,c3);float x = 31.19,y=-31.2,z=31.1900;printf("%5.2f %4.1f %7.4f",x,y,z);}3.编写程序,输入变量x值,输出变量y的值,并分析输出结果。
C语言——顺序结构程序设计练习题

顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
CC++程序设计课后答案

第一章一、选择题1.C/C++规定.在一个源程序中.main()函数的位置()。
CA.必须在最开始B.必须在最后C.可以任意D.必须在系统调用的库函数的后面2.以下()是C/C++合法的标识符。
A3.下面的程序.对于输入:2 9 15.输出的结果是()。
B#include"iostream.h"void main(){int a;float b;cout<<"input a,b:"<<endl;cin>>a>>b;cout<<"a+b="<<a+b<<endl;}A.2B.11C. 26D.244. 在Visual C++中.打开一个项目只需要打开对应的项目工作区文件即可.项目工作区文件的扩展名为()。
CA.objB.dspC.dswD.cpp5.下面关于C语言与C++关系的说法中.()是正确的。
DA.C语言是C++的子集B.C++对C语言进行了改进C.C++和C语言都是面向对象的D.C++继承了C语言的众多优点6.设置一个断点的方法是将光标移到需要设置断点的行上.然后按()键。
AA.F9B.F10C.F11D.F127.下面关于编译预处理命令的说法中.正确的是()。
CA.一条文件包含命令能包含多个文件B.文件包含命令不可以嵌套使用C.编译预处理命令是在编译之前被处理的命令D.编译预处理命令中的“#”可以省略8.使用()可以设置数据输出的宽度。
BA.setbase(int n)B.setw(int n)C.setfill(int n)D.setprecision(int n)二、填空题1.C/C++程序是由一个或多个函数组成的.但必须要有一个()函数.程序从这个函数开始运行的。
main()2.C/C++字符集包括大、小写英文字母、()、()和包括运算符在内的特殊字符.程序中出现字符集以外的字符就是一个语法错误。
写出程序运行结果和编程题03格式

写出程序运行结果1、下面程序的运行结果是:________void swap1(int c[]){ int t;t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){ int t;t=c0;c0=c1;c1=t;}main( ){ int a[2]={2,4},b[2]={3,5};swap1(a); swap2(b[0],b[1]);printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]); }2、下面程序的运行结果是:_____________main(){int a=2,ifor(i=0;i<3;i++)printf("%4d",ff(a));}ff(int a){int b=0;static int c=3;b++;c++;return(a+b+c);}3、下面程序的运行结果是:________main(){int i,j,k=10;for(i=0;i<2;i++){k++;{int k=0;for(j=0;j<=3;j++){if(j%2)continue;k++;}}k++;}printf("k=%d\n",k);}4、下面程序的运行结果:_________。
main(){int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(-*p1)/(*p2)+7;printf("a=%d,",a);printf("b=%d\n",b);}5、以下程序运行结果:________。
funa(int a){int b=0;static int c=0;a=c++,b++;return (a);main(){int a=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf("%d\n",k);}6、下面程序的运行结果:_____________struct stu{int num;char name[10];int age;}void fun(struct stu *p){printf("%s\n",(*p).name);}main(){struct stu students[3]={{2010,"zhang",20},{2011,"wang",19},{2012,"zhao",18};fun(students+2);}7、下面程序的运行结果是:_________。
练习3及答案

选择第7题C
选择第8题D
选择第9题A
选择第10题A
选择第11题B
选择第12题B
二、填空题答案
填空第1题protected;default;public
填空第2题Object
填空第3题ng.Character;ng.Boolean
填空第4题
What a pleasure!
void foo(double d,final float f){
String s;
final boolean b;
class Inner{
void methodInner(){
System.out.println("in the Inner");
}
}
}
public static void main(String args[])
{
Outer1 me=new Outer1();
me.foo(123,123);
System.out.println("outer");
}
}
A in the Inner outer
B outer
C in the Inner
D编译不通过
二、填空题
1.Java中类成员的限定词有以下几种:private, public,_____________,_____________。其中,_____________的限定的范围最大。
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mmTime = new Date();
try {
c语言试题和答案

《C语言》课程综合复习资料一、单选题1. 在C语言中,字符型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码2. 在C语言中,十进制数47可等价地表示为A) 2f B) 02f C) 57 D) 0573. 设有定义:int x=12,n=5; 则表达式x%=(n%2) 的值为A) 0 B) 1 C) 2 D) 34. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str;则printf("%d\n",strlen(p+20)); 输出结果是A)10 B)6 C)0 D)205. 已定义以下函数: fun(int *p){ return *p; }该函数的返回值是A)不确定的值B)形参p所指存储单元中的值C)形参p中存放的值D)形参p的地址值6. C语言中,函数返回值的类型是由A)return语句中的表达式类型决定B)调用函数的主调函数类型决定C)调用函数时的临时类型决定D)定义函数时所指定的函数类型决定7. 有以下函数定义:void fun( int n , double x ) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun( int y , double m );B)k=fun( 10 , 12.5 );C)fun( 10 , 12.5 );D)void fun( 10 , 12.5 );8. 以下选项中不能正确赋值的是A)char b[]={′H′,′e′,′l′,′l′,′o′,′!′};B)char b[10];b="Hello!";C)char b[10]= "Hello!";D)char *str="Hello!";9. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是A)ps+3 B)s[3] C)ps[3] D)ps+=3,*ps10. 当对两个字符串进行比较时,应该使用的函数是A)strcat B)strcmp C)strcpy D)strlen11. 若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次12. 以下关于数组的描述正确的是A)数组大小固定,但是可以有不同类型的数组元素B)数组大小可变,但是所有数组元素的类型必须相同C)数组大小固定,所有元素的类型必须相同D)数组大小可变,可以有不同类型的数组元素13. 以下能正确定义数组并正确赋初值的语句是A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};14. 设有定义int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是A)5 11B)1 9 C)5 9 D)有错误15. 已知char b[5],*p=b; ,则正确的赋值语句是A)b=“abcd” ; B)*b=“abcd”; C)p=“abcd”; D)*p=“abcd”;16. 用数组名作为函数调用时的实参,则实际传递给形参的是A)数组的第一个元素值B)数组中全部元素值C)数组的首地址D)数组的元素个数17. 以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效18. 当对两个字符串进行比较时,应该使用的函数是A)strcat B)strcmp C)strcpy D)strlen19. 有如下定义:long m;char c;float x;double y;则表达式c+m*x/y的值的类型是A)long B)char C)float D)double20. 假设已定义char c[8]= "test";int i;则下面的输出函数调用中错误的是A)printf("%s",c);B)for(i=0;i<8;i++) printf("%c",c[i]);C)puts(c) D)for(i=0;i<8;i++) puts(c[i]);21. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是A)ps+3 B)s[3] C)ps[3] D)ps+=3,*ps22. 以下选项中不能正确赋值的是A)char b[]={′H′,′e′,′l′,′l′,′o′,′!′};B)char b[10];b="Hello!";C)char b[10]= "Hello!";D)char *str="Hello!";23. 有以下函数定义:void fun( int n , double x ) { ……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
写出程序运行结果
1、下面程序的运行结果是:________
void swap1(int c[])
{ int t;
t=c[0];c[0]=c[1];c[1]=t;
}
void swap2(int c0,int c1)
{ int t;
t=c0;c0=c1;c1=t;
}
main( )
{ int a[2]={2,4},b[2]={3,5};
swap1(a); swap2(b[0],b[1]);
printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]); }
2、下面程序的运行结果是:_____________
main()
{int a=2,i
for(i=0;i<3;i++)
printf("%4d",ff(a));
}
ff(int a)
{int b=0;static int c=3;
b++;
c++;
return(a+b+c);
}
3、下面程序的运行结果是:________
main()
{int i,j,k=5;
for(i=0;i<2;i++)
{k++;
{int k=0;
for(j=0;j<=3;j++)
{if(j%2)continue;
k++;}
}
k++;}
printf("k=%d\n",k);
}
4、下面程序的运行结果:_________。
main()
{int a,b,k=2,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(-*p1)/(*p2)+7;
printf("a=%d,",a);
printf("b=%d\n",b);
}
5、以下程序运行结果:________。
funa(int a)
{int b=0;
static int c=0;
a=c++,b++;
return (a);
main()
{int a=3,i,k;
for(i=0;i<2;i++)
k=fun(a++);
printf("%d\n",k);
}
6、下面程序的运行结果:_____________
struct stu
{int num;
char name[10];
int age;
}
void fun(struct stu *p)
{printf("%s\n",(*p).name);
}
main()
{struct stu students[3]={{2010,"zhang",20},{2011,"wang",19},{2012,"zhao",18};
fun(students+2);
}
7、下面程序的运行结果是:_________。
main()
{int i,j,k=5;
for(i=0;i<2;i++)
{k++;
{int k=0;
for(j=0;j<=3;j++)
{if(j%2)continue;
k++;}
}
k++;}
printf("k=%d\n",k);
}
8、下面程序的运行结果是:_________。
main()
{int a[5]={1,3,5,7,9},x,y,*p;
p=&a[0];
x=*(p+2)
y=*(p+4);
printf("%d ,%d , %d\n",*p,x,y);
}
9、下面程序的运行结果是:_________。
#include "stdio.h"
int k=1;
main( )
{int i=6;
fun(i);
printf("\n%d,%d",i,k);
}
fun(int m)
{m+=k;k+=m;
{char k='B';
printf("%d",k-'A');
}
printf("%d,%d",m,k);
}
10、下面程序的运行结果是:_________。
#include <stdio.h>
void fun(int *s)
{static int j=1;
do
{s[j]+=s[j+1];
}while(++j<2);
}
main()
{int k,a[10]={1,2,3,4,5};
for(k=1;k<3;k++)
fun(a);
for(k=0;k<5;k++)
printf("%d",a[k]);
}
11、下面程序的运行结果是:_________。
#include "string.h"
fun(char *w,int n)
{char t,*s1,*s2,t;
s1=w; s2=w+n-1;
while(s1<s2)
{t=*s1;
*s1++=*s2;
*s2--=t;
}
}
main()
{static char *p="123456789";
fun(p,strlen(p));
printf("%s\n",p);
}
12、下面程序的运行结果是:_________。
main()
{struct cmplx
{int x;
int y;
}cnum[2]={1,3,2,5};
cnum[0].x=cnum[0].x*cnum[1].x;
cnum[1].y=cnum[0].y+cnum[1].y;
printf("%d\n",cnum[1].y/cnum[0].x*cnum[1].x);
}
14、以下程序的正确运行结果是:______。
#inclued<stdio.h>
main()
{int k=5,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
func(int a,int b)
{static int m=0,i=2;
i+=m+1;
m=i+a+b;
return m;
}
15、以下程序的正确运行结果是:______。
int w=3;
main()
{int w=10;
printf("%d\n",fun(4)*w);
}
fun(int k)
{if(k= =0)return (w);
return(fun(k-1)*k);
}
16、下面程序的运行结果是:_________。
main()
{char *s="1312442311";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case '1': v1++;
case '3': v3++;
case '2':v2++;
case '4':v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }
编程题
1、产生50个[10,99]间的随机整数存入一个一维数组中,计算这50个数的平均
值(保留两位小数)。
2、 输出100以内的个位数为5、且能被7整除的所有数,并统计个数。
3、用随机函数产生100个[0,99]的整数,存放到一个10×10的二维数组中,求每列数组元素的和。
输出该二维数组和每列数据的和。
4、输入x 和值,按下面公式:计算前n 项和,直到x n /n! < 10-5。
5、从键盘输入20个单精度数,对输入的数据按从大到小的顺序进行排序,然后输出排序后的结果。
6、编写程序,计算下面的多项式的前30和。
)
1(*1......4*313*212*111++++++n n
7、按下面公式计算计算π的近似值,直到1/n<1e-6。
!......!3!2132n x x x x n +++++ +-+-=7151314
1π。