下列叙述中正确的是()。
A)程序设计就是编制程序
B 程序的测试必须由程序员自己去完成
C 程序经调试改错后还应进行再测试
D 程序经调试改错后不必进行再测试
下列关于栈的描述正确的是()。
A)在栈中只能插入元素而不能删除元素
B 在栈中只能删除元素而不能插入元素栈是特殊的线性表,只能在一端插入或删除元素
C 栈是特殊的线性表只能在一端插入或删除元素
D 栈是特殊的线性表,只能在一端插入元素而在另一端删除元素
以下叙述中错误的是()。
A) 语句必须以分号结束
B 复合语句在语法上被看作一条语句
C 空语句出现在任何位置都不会影响程序运行
D 赋值表达式末尾加分号就构成赋值语句
以下能正确定义且赋初值的语句是()。
A) int n1=n2=10;
B char c=32;
C float f=f+1.1;
D double x=12.3E2.5;
5/20 [单选]
有以下程序段
int n,t=1,s=0;
scanf("%d",&n);
do{s=s+t; t=t-2;}
while (t!=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是()。
A 任意正奇数
B 人员负偶数数
c 任意正偶数
D 任意负奇数
设变量已正确定义,则以下能正确计算f=n!的程序段是()。
A) f=0;for(i=1;i<=n;i++) f*=i;
B) f=1;for(i=1;i>=2;i--) f*=i;
C) f=1;for(i=n;i>1;i++) f*=i;
D f=1;for(i=n;i>=2;i--) f*=i;
有以下程序main(){
int k=5,n=0; while(k>0)
{switch(k) {
default: break;
case 1:n+=k;
case 2:
case 3: n+=k;}
k--;}
printf("%d\n",n);
}
程序运行后的输出结果是
设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。
Α) *p=*q;
B p=q;
C *p=&n1;
D p=*q;
设函数 fun 的定义形式为void fun(char ch, float x) {..}则以下对函数fun的调用语句中,正确的是()。
A fun("abc",3.0);
B) t=fun('D',16.5);
C fun('65',2.8);
D fun(32,32);
#include "stdio.h"
struct STU{
int num;
float TotalScore;
};
void f(struct STU p){
struct STU s[2] = {{ 20044,550 } , { 20045,537 }};
p.num = s[1].num;
p.TotalScore = s[1].TotalScore;
}
int main(void){
struct STU s[2] = { {20041,703},{20042,580} };
f(s[0]);
printf("%d %3.0f\n",s[0].num,s[0].TotalScore);
}
程序运行后的输出结果是()。
中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展一让标准C支持中断。具代表事实是,产生了一个新的关键字interrupt。下面的代码就使用了interrupt 关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的结果。
interrupt double compute_area (double radius){
double area = Pl * radius * radius; printf(" Ar ea = %f", area); return area;
}
在windows下,写出运行结果。char str[]=" Hello"; char *p=str; int n=10;
则:sizeof(str)= ( ) sizeof(p) = ( ) sizeof(n) = ( )
对于一个频繁使用的短小函数,在C语言中应用( )宏定义实现,在C++中应用( )实现。
若采用10MHz的晶体振荡器,则MCS-51单片机的振荡周期为( )ns,机器周期为( )us
设有定义double a[10],*s=a;,能够代表数组元素a[3]的是( )
void main(void){
union{
char ch[2];
int d;
}s;
s.d = 0x4321;
printf("%x ,%x \n",s.ch[0],s.ch[1]);
}
在 16 位编译系统上,程序执行后的输出结果是( ),( )
#include "stdio.h"
//#includ "myfun.c"
void fun(){
char s[80],c;
int n = 0;
while((c = getchar () ) != '\n' )
s[n++] = c;
n--;
while(n >= 0)
printf("%c",s[n--]);
}
void main(void){
fun();
printf("\n");
}
当编译连接通过后,运行程序T18 时,输入Thank!则输出结果是:()
有以下程序
#define f(x) (x*x)
main(){
int i1, i2;
i1=f(8)/f(4) ;
i2=f(4+4)/f(2+2);
printf("%d, %d\n",i1,i2);
}
程序运行后的输出结果是()
有这样的定义: int a, b;交换两个变量的值,而不使用其他存储空间,
请写出算法:()