1、若有定义int a[10],则a代表的是数组a的:
A、第一个元素 B、最后一个元素
C、首地址 D、最后一个元素的地址
2、若有程序段:int i=2,j;
j=i++;
printf(“%d,%d”,++i,j);
该程序段的输出结果是:
A、3,2 B、4,
3、能正确表示逻辑关系:a≥10或a≤0的C语言表达式为:
A、a>=10 or a<=0 B、a>=0|a<=10
C、a>=10 && a<=0 D、a>=10||a<=0
4、若t为double类型,则表达式:t=1,t+5,t++的值是:
A、1 B、
5、要求操作数都为整型数据的算术运算符是:
A、/ B、&& C、% D、^
6、有如下函数调用语句:func(r1,r2+r3,(r4,r5));
该函数调用语句中,含有实参的个数是:
A、3 B、
7、若有定义 int *p,a; p=&a;
则*p表示的是:
A、变量a的地址 B、变量a的值
C、变量p的值 D、变量p的地址
8、当定义一个结构体变量时,系统分配给它的内存是:
A、各成员所需内存量的总和
B、结构中第一个成员所需内存量
C、成员中占内存量最大者的容量
D、结构中最后一个成员所需内存量
阅读程序,写出程序的运行结果
1、main( )
{char c1,c2,c3;
c2=’c’;
c1=c2-1;
c3=c2+1;
printf(“%c,%d,%c\n”,c1,c2,c3);}
程序的运行结果是:
2、main( )
{int a=5,b=6,c;
c=a;
if(a>b) c=1;
else if(a= =b) c=0;
else c=-1 ;
printf(“c=%d\n”,c);
}
程序的运行结果是:
3、main( )
{int a=10,y=0;
do
{a+=2;y+=a;
printf(“a=%d y=%d\n”,a,y);}
while(a!=14);}
程序的运行结果是:
4、main( )
{int i;
int f[4]={1,1};
for(i=2;i<4;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<4;i++)
printf(“%d ”,f[i]);}
程序的运行结果是:
一、 完善程序
1、下面程序是输入10个学生的成绩,计算输出平均分。
main( )
{int i, a[10];
float sum=0;mul=1,ave;
for(i=0;i<10;i++)
{scanf(“%d”,&a[i]);
sum= ;
}
ave= ;
printf(“%f,%f,%f\n”,sum,mul,ave);
}
2、用冒泡法对10个数由小到大排序。
main( )
{int a[11],i,j,t;
for(i=1;i<=9;i++)
scanf(“%d”,&a[i]);
for(j=1;j<=9;j++)
for(i=1; ;i++)
if( )
{t=a[i]; ;a[i+1]=t;}
for(i=1;i<=10;i++)
printf(“%d ”,a[i]);
}
实验选择题
1、构成C程序的基本单位是( )
A、函数 B、过程 C、子程序 D、文件
2、C语言中宏展开的过程是在( )阶段进行的。
A、编译 B、链接 C、运行 D、编译预处理
3、运行C源程序的命令是( )
A、ALT+F5 B、ALT+F9
C、CTRL+F5 D、CTRL+F9
实验改错题
1.按从大到小的顺序输出两个变量的值
main( )
{int a, b, *p1, *p2;
p1=&a; p2=&b;
scanf (“%d, %d”, p1, p2);
if (p1<p2)
{t=*p1; *p1=*p2; *p2=t;}
printf (“%d, %d\n”, *p1, *p2);}
错误1: 改正1:
错误2: 改正
2.计算两数之积。
main()
{float mul(float,float);
float a,b,c;
scancf(“%f,%f”,&a,&b);
c=m(a,b);
printf(“%f\n”,c);}
float mul (float x,y)
{float z;
z=x*y;
return;}
错误1: 改正1:
错误2: 改正2:
二、 编程题
1、 编写一个将三个整数按从小到大排列输出的函数。
>> 本文固定链接: http://www.vcgood.com/archives/1882
很基础的题目,,看一下书可以做出来了,,,不能白吃饭啊,,,你发你的答案,,,有错误会有人帮你改的
1、A改为C 2、D 3、D 4、D 5、C 6、A 7、B 8、A
1:b 99 d
2:c=-1
3:a=12 y=12
a=14 y=26
4:1 1 2 3
一、1、
main( )
{
int i, a[10];
float sum=0,mul=0,ave;
for(i=0;i<10;i++)
{scanf(“%d”,&a[i]);
sum= sum+a[i] ;
mul++;
}
ave=sum/mul ;
printf(“%f,%f,%f\n”,sum,mul,ave);
getch();
}
2、
main( )
{int a[10],i,j,t;
for(i=0;i<=9;i++)
scanf(“%d”,&a[i]);
for(j=0;j<=9;j++)
{
for(i=0; i<=8 ;i++)
{
if(a[i]>a[i+1])
{
t=a[i]; a[i]=a[i+1] ;a[i+1]=t;
}
}
}
for(i=0;i<=9;i++)
printf(“%d “,a[i]);
getch();
}
实验选择题
1、A
2、D
3、D
实验改错题
1、 错误1:未定义t 改正1:int t;
错误2:if (p1<p2) 改正2:if (*p1<*p2)
2、错误1:scancf(“%f,%f”,&a,&b); 改正1: scanf(“%f,%f”,&a,&b);
错误2:c=m(a,b); 改正2:c=mul(a,b);
错误3: float mul (float x,y) 改正3: float mul (float x,float y)
错误4: return;} 改正4: return z;}
二、 编程题
#include<stdio.h>
main()
{
int a,b,c,t,f;
scanf(“%d %d %d”,&a,&b,&c);
for(f=0;f<2;f++)
{
if(a>b)
{t=a;a=b;b=t;}
if(b>c)
{t=b;b=c;c=t;}
}
printf(“%d %d %d”,a,b,c);
getch();
}
…….
我只看了第1题…不过楼上的答案好象有问题,我的印象中,数组是并行存放的,a似乎在程序运行中是应该表示其代表数组的首地址.
[QUOTE=younger]
…….
我只看了第1题…不过楼上的答案好象有问题,我的印象中,数组是并行存放的,a似乎在程序运行中是应该表示其代表数组的首地址.
[/QUOTE]
的确错了,数组第一个元素的地址也是整个数组的首地址,应是地址,选C,谢谢楼上。刚学C几天