admin 管理员组文章数量: 887021
2023年12月16日发(作者:图标css)
高职升学模拟考试《C语言编程基础》试卷一
一、填空题:(每空2分,共40分)
1、十进制数125用一个字节的二进制表示是 01111101 。
2、源程序经过编译后产生的结果称为 目标文件 ,其扩展名为 .obj 。
3、一个C语言函数由 函数头 和 函数体 两部分组成。
4、设指针变量fp,打开指定名为“”的ASCII码文件只是为了写的表达式为
Fp=fopen 。
5、在内存中应该开辟 1 个字节来存放一个字符。
6、字符串”abn012(八进制转十进制为10两个字符)„”(字符串后系统自动添加一个空格字符)的长度是 9 。
7、以下程序的输出结果是 14 。
#include
main( )
{ int i=6,j; j=(++i)+(i++) ;
printf(“j=%dn”,j);
}
8、有int x,y;执行y=(x=1,++x,x+2)后,赋值表达式的值为 4 。
9、在C语言中,没有专门为存储字符串的变量,但可以用 字符型数组或字符型指针
来存储字符串,其定义格式为 char str[6] 或char *str 。
10、设x,y,z均为int型变量,请写出描述”x,y和z中有两个为负数的表达式”:
(x<0&&y<0||(x<0&&z<0)||(y<0&&z<0)) 。
11、下列程序段中循环体的执行次数是 3 。
a=10;
b=0;
do {b+=2;a-=2+b;}
while(a>=0);
12、定义:int a[3][4]={{1,2},{0},{4,6,8,10}}; 则初始化后,a[1][2]得到的初值是 0 ,
- 1 -
a[2][1]得到的初值是 6 。
13、下面程序段的运行结果是 he 。
char x[]=”the teacher”;i=0;
while(x[++i]!=‟0‟)
if(x[i-1]==‟t‟)
printf(“%c”,x[i]);
14、程序
#include
main()
{int j,i=1; j=-i++; printf(“%d,%dn”,j,i);}
运行后输出结果为 -1 , 2
15、程序
#include
main()
{int a=177; printf(“a=%on”,a);} (输出八进制)
运行后输出结果为 261
16、若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
则语句:p+=2,*(p++);执行后的结果(值)是 3
二、选择题:(每题2分,共40分)
1、程序: main()
{int a=4,b=3,c=1,d=2,e=0;
if(a>b) {if(c>d) e=1;}
else e=4; printf(“%dn”,e);
} 运行结果为( A ).
B、4、 C、6 D、8
A、0
2、下列字符中不属于转义字符的是( B )。
- 2 -
A、n B、k C、b D、t
3、下面对变量说明正确的是( C )。
A、Int a,b,c; B、int x,float y; C、int a,x;
4、以下正确的叙述是( D )。
A、在C程序中,每行中只能写一条语句。
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。
C、在C程序中,无论是整数还是实数,都能被准确无误地表示。(实数有时不能)
D、在C程序中,运算符%只能用于整数运算。
5、若以下变量均是整型,且num=sum=7,则计算表达式sum=num++,sum++,++num后的值为( C )。
A、7 B、8 C、9 D、10
D、int a,x
6、设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是( A )。
A、x=10,y=15,z=10 B、x=10,y=10,z=10 C、x=10,y=10,z=15 D、x=10,y=5,z=10
7、变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( A )。
A、a+=a-=(b=4)*(a=3) B、a=a*3=2 C、x%(-3) D、y=float(i) --(float i)
8、以下说法正确的是( D )。
A、输入项可以为一个实型常量,如scanf(“%f”,3.5);
B、只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”);
C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);
D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);
9、以下if语句语法正确的是( B )。
A、if(x>0) printf(“%f”,x)
- 3 -
B、if(x>0){x=x+y;printf(“%f”,x);}
else printf(“%f”,-x); else printf(“%f”,-x);
C、if(x>0){x=x+y;printf(“%f”,x);}; (这个分号不要,后面没有语句)
D、if(x>0){x=x+y;printf(“%f”,x)}
else printf(“%f”,-x);
10、以下叙述中不正确的是( C )。
A、预处理命令行都必须以#号开始。
B、在程序中凡是以#号开始的语句行都是预处理命令行。
C、C程序在执行过程中对预处理命令行进行处理。
D、#define IBM_pc是正确的宏定义。
11、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句
c2=‘A’+‘6’-‘3’;后,c2的值为( B )。
A、D B、68 C、”0” D、C
12、下面不正确的字符串常量是( A )。
A、 ‘abc’ B、”12.12” C、”0” D、” ”
13、以下叙述不正确的是( C )。
A、在C程序中,逗号运算符优先级最低。
B、在C程序中,APH和aph是两个不同的变量。
C、若a,b类型相同,在计算a=b后b中的值将放入a中,而b中的值不变。
D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入
实型数。
14、已知int x=10,y=20,z=30;执行语句if(x>y) z=x;x=y;y=z;后,
x,y,z的值是( B )。
A、x=10,y=20,z=30
C、x=20,y=30,z=10
B、x=20,y=30,z=30
D、x=20,y=30,z=20
15、设x,y均为float型变量,则以下不合法的赋值语句是( B )。
A、++x; B、y=(x%2)/10; C、x*=y+8; D、x=y=0;
- 4 -
16、C语言中不合法的字符常量是( B )。
A、’0xff’
17、程序
main()
{ int k=2,m=4,n=6;
int *pk=&k,*pm=&m,*p;
*(p=&n)=*pk*(*pm);
printf(“%dn”,n);
} 运行结果为( D )
B、4 C、6 D、8
B、’029’ C、’68’ D、’*’
A、2
18、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语句
for(i=0;i<3;i++) printf(“%d”,x[i][2-i]);的输出结果是( C )。
A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9
19、有以下定义语句:int a[]={0,1,2,3,4,5,0};下面选项中与其等价的是( A )。
A、int a[7]={0,1,2,3,4,5,0};
C、int a[7]={0,1,2,3,4,5,1};
20、在程序:main()
{int i,j;
for(j=1;j<=8;j++)
{for(i=1;i<=10;i++)
printf(“*”);
printf(“n”);
} 中,内层循环的循环体printf(“*”);共被执行了( D )次。
B、int a[6]={,1,2,3,4,5};
D、int a[7]={0,0,1,2,3,4,5};
A、10 B、40 C、60 D、80
三、写出序的运行结果(每题4分,共60分)。
1、若执行以下程序时从键盘上输入9,则输出结果是 10
- 5 -
main()
{int a;
scanf(“%d”,&a);
if(a++<10) printf(“%dn”,a--);
else printf(“%dn”,a);
}
2、main( )
{ int i=1,j=1,k=2;
if((j++||k++)&&i++) printf(“%d,%d,%d”,i,j,k);(逻辑或执行第一个为真就不执行了)
}
运行结果为 2,2,2
3、#include
main()
{int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf(“%d,%d,%dn”,k,a,b);
运行结果为 1,0,3
4、 int a=5;(这个a要执行)
fun(int b)
{static int a=10;
a+=b++;
printf(“%d”,a); }(这个a先执行)
main( )
{ int c=20;
- 6 -
fun(c);
a+=c++;
printf(“%dn”,a);
} 运行结果为 3025
5、main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3;(数组s=x表示数组0,再+3,数组下标是0.1.2.3.)
print(“%dn”,s[2]);
} 运行结果为 0
6、#include
main()
{int a=2,i;
for(i=0;i<3;i++)
printf(“%4d”,f(a));
}
f(int a)
{int b=0;
static int c=3;
b++;c++;
return(a+b+c);
}
运行结果为 7 8 9
7、执行程序:
#include
main()
{int i,j;
for(i=1;i<5;i++) 1 2 3 4
for(j=2;j<=i;j++) 0 1 2 3
- 7 -
putchar(‘#’); } 运行结果为 ######
8、程序:
main()
int a=4,b=3,c=5,t=0;
if(a>b) t=a;a=b;b=t;
if(a printf(“%d,%d,%dn”,a,b,c); } 运行结果为 5,4,3 9、程序: int d[5]={2}; main() {int i; int *p=d; for(i=1;i<=4;i++) {d[i]=*p+3;p++;} printf(“%dn”,d[4]); } 运行结果为 14 10、程序: main() {int a=4; switch(a++) {default:a+=10; case 5:a+=10; case 4:a+=10; break; } printf(“%d”,a); } 运行结果为 15 11、程序: - 8 - main() {int a=0,b=0,i; for(i=0;i<10;i++) if(i%2) a+=i; else b+=i; printf(“%dt%d”,a,b); } 运行结果为 12、程序: main() {int i,j; i=100;j=200; printf(“(i++)+j=%dn”,(i++)+j); i=100;j=200; printf(“i+(++j)=%dn”,i+(++j)); i=100;j=200; printf(“i+++j=%dn”,(i+++j)); } 运行结果为 13、程序: #define MIN(x,y) (x)<(y)?(x):(y) main() {int i,j,k; i=10;j=15; k=10+MIN(i,j); printf(“%dn”,k); } 运行结果为 14、程序: - 9 - main() {int a=1; while(a<=15) {if(a%3!=0) {a++; continue;} printf(“%d ”,a); a++; } printf(“n”); } 运行结果为 15、程序: #include main() {char p1[]=“abc”,p2[]=“ABC”,str[50]=“xyz”; strcpy(str,strcat(p1,p2)); printf(“%s”,str); } 运行结果为 四、根据要求,完成程序(每个空分,共30分)。 1、下面程序的功能是在输入的一批正数中求出最大者,输入0结束循环。 #include main( ) {int a,max=0; scanf(“%d”,&a); while( )
版权声明:本文标题:高职升学模拟考试《c语言编程基础》试卷一 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702701467h427359.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论