① 大一c语言上机考试题
#include<stdio.h>
intfun(intn){
inti;
if(n>2&&!(n&1)||n<2)
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(void){
ints[8],i;
printf("Input8integers... ");
for(i=0;i<8;scanf("%d",s+i++));
printf("TheprimeNumbers: ");
for(i=0;i<8;i++)
if(fun(s[i]))
printf("%d",s[i]);
printf(" ThesumNumbers: ");
for(i=0;i<8;i++)
if(!fun(s[i]))
printf("%d",s[i]);
printf(" ");
return0;
}
② 大一c语言考试题(急)
1、C源程序文件的扩展名是(.C);编译后生成的文件名后缀是(.OBJ);经过连接后生成文件
名后缀是(.exe);在VC++6.0中用Run命令运行当前程序时,运行的程序扩展名是(.exe)。
2、结构化程序的三种基本结构是(顺序、选择、循环)。
3、整型常量有三种表示方法,它们是(十进制整数)、(八制整数)、(十六整数)。
4、表达式3.5+1/2+56%10的值是(9.5);10/10和10%10的值各是(1和0)。
5、表达式3%3*3的值是(0);5/3*3的值是(3);3*6%4的值是(2)。
6、设intx=12;执行x+=x-=x*x后,x的值是(-264)。
7、表达式k=7,k+=k-=k+1的值是(-2)。
8、语句"printf("%x,%o",16,12);"的输出结果是(10,14)。
9、设shortx,y;y=(x=3,x+2,++x,x++*2);则x,y的值各是(5,8)。
10、设intx,y,z,t;x=y=z=1;t=++x||++y&&++z;则y的值是(1)。
11、条件10<=x<20或x<=0的C语言表达式是(x>=10&&x<20||x<=0)
12、设a=1,b=2,c=3,d=4;表达式a>b?a:c<d?a:d的值是(1)。
13、在C程序中,用(1)表示逻辑值“真”。
14、表示“x≥y≥z”的C表达式是(x>=y&&y>=z)。
15、设x为int型变量,请写出一个关系表达式((x%21==0)),用以判断x同时为3和7的倍数时
,关系表达式的值为真。
16、设ch是字符型变量,判断ch为英文字母的表达式是:(
ch<='z'&&ch>='a'||ch>='A'&&ch<='Z')。
17、在C语言中参数的传递总是采用(单向)传递。
18、如果return表达式;中”表达式”的类型与函数类型不一致,则以(函数类型)的类型为准
自动转换;如果实际参数的类型与形式参数的类型不一致,则以(形式参数)的类型为准自动转
换。
19、函数形式参数在(调用)时分配内存,(调用结束)时释放内存。
20、系统总是为数组分配(连续)的一块内存。
21、字符串的结束标志是(ASCII码的0)。
22、TC系统为任何指针变量分配的内存是(4)字节。
23、若有定义:doublex[3][5];则x数组中行下标的下限为(2),列下标的上限为(4)。
24、若有定义intx=3,*p;则使p指向变量x的赋值语句为(p=&x)。
25、在C语言程序中,在函数内部定义的变量称为(局部变量)。
26、chara[2][10]={“123”,”123456789”},*p[2]={“123”,”123456789”};则(前者)
占用内存多。
27、structst{charnum[5];inta[4];floatave;}a,*p;则变量a和p在内存各
占(25和4)字节。
28、unionun{inti;charc;};
structst{intv[4];doublet;unionunk;}w,*pw;pw=&w;
变量w占用(28)字节;通过w访问v[0]的形式是(w.v[0]);通过w访问成员c的形式是(w.k.c
);通过pw访问v[0]的全部形式有(pw->v[0],*(pw->v));通过pw访问成员c的全部形式有(
(pw->k.c))。(实验验证,pw->k->c这种书写有错误直接用.也是错误)
29、设fp是文件指针,要把字符变量ch的内容写入文件,可用的语句有(
fputc(ch,fp);fwrite(&ch,1,1,fp);)。
30、fputs(str,fp)函数的功能是(将数据str写入fp文件流中)。
{29题不能用fputs(&ch,fp);由于ch只有一个字符,如果用这句的话,会因为没有字符串结束标
志而写入很长的数据。从实验中得出。}
涉及到穷举的题目,像28、29可能没有列举完全其他题目都是经过vc++6.0验证过的。
③ 大一C语言题目求解
c=n[0][j]+n[1][j]-2*’0’;——把对应字符相加变成了数字相加,如第一次是'0'+'8'-2*'0'结果就是数字0+8==8。第二次得到'8'+'9'-2*'0'==17,相应地第三次是10,最后一次是17。后面n[0][j]=c%10+’0’;又相应地把第一次的得数8+了'0'变成了字符'8'并存储到n[0]的最后一位,并且如果结果大于等于10时只取个位(由c%10实现);所以第二次得到的是'7',第三次得到的是'0',最后得到的是'7'。所以最后输出是7078和9198。