1.下列关于单目运算符++、--的叙述中正确的是____c__。
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量
B、它们的运算对象可以是任何变量和常量
C、它们的运算对象可以是char型变量、int型变量和float型变量
D、它们的运算对象可以是char型变量和int型变量,但不能是float型变量
2.以下叙述中正确的是 (A)。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、分号是C语句之间的分隔符,不是语句的一部分
C、花括号“{“和”}”只能作为函数体的定界符
D、构成C程序的基本单位是函数,所有函数名都可以由用户命名
3.下面不正确的字符串常量是(C)。
A、"12'12" B、"0" C、'abc' D、" "
4.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式(B)。
A、 右对齐输出该字串,左补空格 B、按原字符长从左向右全部输出
C、输出错误信息
D、从左起输出该字符串,右补空格
5.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是
(说明:'\b'是退格符)(A)。
A、re'hi'you B、a\bre\'hi\'y\\\bou C、abre'hi'y\bou D、a\bre\'hi\'y\bou
6.C语言的if语句嵌套时,if与else的配对关系是(C)。
A、每个else与if的配对是任意的 B、每个else总是与它上面的if配对
C、每个else总是与它上面的最近的并且没有配对的if配对 D、每个else总是与最外层的if配对
7.以下程序的输出结果是 D
main()
{ int y = 10
for(; y > 0; y --)
if(y % 3 == 0)
{ pritnf(“%d”, --y); continue; }
}
A、741 B、963 Cprintf是不是c语句、875421 D、852
8.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(D)。
A、char s[10];strcpy(s,"abcdefg"); B、char s[10]="abcdefg";
C、char t[]="abcdefg",*s=t; D、char s[10];s="abcdefg";
9.若输入ab,程序运行结果为(A)。
main()
{ static char a[2]; scanf("%s",a); printf("%c,%c",a[1],a[2]); }
A、b, B、程序出错 C、a, D、a,b
10.在C语言程序中(C)。
A、函数的定义和函数调用不可以嵌套 B、函数的定义可以嵌套,但函数的调用不可以嵌套
C、函数的定义不可以嵌套,但函数的调用可以嵌套 D、函数的定义和函数调用均可以嵌套
11.以下正确的函数定义形式是(C)。
A、double fun(int x,int y);B、double fun(int x;int y)
C、double fun(int x,int y)D、double fun(int x,y);
12.若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5
的语句为(D)。
A、 rintf("%d",*(a+5)); B、printf("%d",*(p+5));
C、printf("%d",p[5]);D、printf("%d",*p[5]);
13.下面选择中正确的赋值语句是(设char a[5],*p=a;)(D)。
A、*a="abcd"; B、*p="abcd"; C、a="abcd"; D、p="abcd";
14.根据以下定义,能输出字母M的语句是 B 。
struct person
{ char name[9]; Int age; };
struct person class[4]={{“John”,17},{“Paul”,19},{“Mary”,18},{“Adam”,16}};
A、printf(“%c\n”,class[3].name[1]); B、printf(“%c\n”,class[2].name[0]);
C、printf(“%c\n”,class[2].name[1]); D、printf(“%c\n”,class[3].name);
15.打开文件时,方式“w”决定了对文件进行的操作是(C)。
A、可读可写盘 B、追加写盘 C、只写盘 D、只读盘
1.复合语句在语法上被认为是____一条语句_。空语句的形式是__;___。
2.将上题中的双分支if语句改写成条件表达式语句:__printf(“%d\n”, (a > 100) ? (a > 100) : (a <= 100) );___
main()
{ int a = 100;
if( a > 100) printf(“%d\n”, a > 100);
else printf(“%d\n”, a <= 100);
}
3.以下程序段的输出结果是__死循环___。
int k, n, m;
n = 10; m = 1; k = 1;
while( k <= n )
m *= 2;
printf(“%d\n”, m);
4.如果函数不要求带回值,可用___void__来定义函数返回值为空.
5.以下程序的执行结果是__ a = 20, b = 20 ___。
main()
{ int a, b, *p = &a, *q = &b;
a = 10; b = 20; *p = b; *q = a;
printf(“a = %d, b = %d\n”, a, b); }
6.以下程序的运行结果是 __30x___。
#include <string.h>
typedef struct student
{ char name[10]; long sno; float score; }STU;
main()
{ STU a = {“Zhangsan”, 2001,95}, b = {“Shangxian”, 2002,90},
c = {“Anhua”, 2003, 95}, d = a, *p = &d;
if(strcmp(a.name, b.name) > 0) d = b;
if(strcmp(c.name, b.name) > 0) d = c;
printf(“%ld %s\n”, d.sno, p ->name);
}
7.以下C程序将磁盘中的一个文件复制到另一个文件中,
两个文件名在命令中给出。请填空。
#include <stdio.h>
main( int argc, char *argv[])
{ FILE *f1, *f2; char ch;
if(argc <___3__)
{ printf(“命令行参数错!\n”); exit(0); }
f1 = fopen(argv[1], “r”); f2 = fopen(argv[2], “w”);
while( ___!feof(f1)__ )
fputs( fget(f1), _f2____ );
___fclose(f1)__; ___fclose(f2)__}
8.设 x 的值为15,n 的值为2,则表达式 x*=n+3 运算后 x 的值是__75___.
9.已知 i=5, 写出语句 a=(i>5)?0:1; 执行后整型变量 a 的值是__1___.
【程序设计】
功能:将主函数中输入的字符串反序存放。程序中如果用
到循环,必须使用for循环。
例如:输入字符串“abcdefg”,则应输出“gfedcba”。
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define N 81
void TestFunc();
void fun(char *str,int n)
{
/**********Begin**********/
int i,j;
char c;
for(i=0,j=n-1;i<j;i++,j--) /*或者for(i=0,j=n-1;i<n/2;i++,j--)*/
{c=*(str+i);
*(str+i)=*(str+j);
*(str+j)=c;}
/********** End **********/
}
void main()
{
char s [N]; int l; printf("input a string:");gets(s);
l=strlen(s); fun(s,l);
printf("The new string is :");puts(s); TestFunc(); }
void TestFunc()
{ FILE *IN,*OUT; char sIN[20],*sOUT; int iLENGTH; IN=fopen("in.dat","r");
if(IN==NULL)
{ printf("Please Verify The Currernt Dir..It May Be Changed"); }
OUT=fopen("out.dat","w");
if(OUT==NULL)
{ printf("Please Verify The Current Dir.. It May Be Changed"); }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论