1.
#include<stdio.h>
#include<string.h>
void main()
{
char   *s1="ABCDEF",*s2="aB";
s1++;
s2++;
puts(s1);
puts(s2);
printf("%d\n",strcmp(s1,s2)); 
}答案:1
2.程序段:
int x=12;
 double y=3.141593;
printf(“%d%8.6f,x,y);的输出结果是(
 A。123.141593
 B.12 
    3.141593
 C.12 3.141593
 D.12 3.141593
 3.以下结构体类型说明和变量定义中正确的是()。
A. typedefstruct
 {int n; char c;} REC;
 REC  t1,t2; 
 B. typedef struct 
 {int n; char c;}; 
 REC t1,t2; 
 C. typedef struct REC;
 {int n=0; char c='A';} t1,t2;
 解析:
  用typedef声明新类型名
 1.先按定义变量的方法写出定义
 2.将变量名换成新类型名
 3.在最前面加typedef
4。用新类型名去定义变量
4.下面程序的文件名为t.exe 在DOS下输入的命令行参数为:t to meet me<回车>则程序输出的结果是( )。 
 main(argc,argv)
 int argc;char *argv【】;
{
 int i;
 printf("%d\n",argc);}
 A.3 B.4 C. 2 D. 以上答案都不正确
 解析: arac 中存入的是命今行中字符串的个数。argv是一#include "stdio.h" 个指向字符型的指针数组的指针。
 5.若有定义:char*st="how are you";,下列程序段中正确的是()
 A. char a[11],*p;strcpy(p,&st[4]);   B. char a[11];strcpy(++a, st);
 C.char a[11 ]; strepy(a,st);    D. char a[],*p;strepy(p=&a[1],st+2);
解析:
 本题综合考查字符数组的赋值和 strdov 函数的用法,0港言不允许用赋值表达式对字符数组赋值如下面的语句就是非法的·strl= "China “China”这 5 个字符放到数组 strl 中,除了逐个地输入外还能使用 stranv 民的 该辆数的功能是将一个字符串复制到一字符数组中例加·strcnv(strl "China stroov/stdolstr2);注音不能企图用以下语句来实行赋值(将str2的值传给 strl):strl=str2;不能用赋体语何将一个字符串常量或字符数组直接给一个字符数组
 strcnv 函数的结构是·strcnv(安符数细 1(字符串 2)
 其中雲要注音的是 字符数组1的长度不应小于字符串?的长度 "字符数组1”必师写成数组名形式如(strl) “字符串2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
 A. p没有初始化。加上p=a;或者char a[11】.*p: strqpy(p=a,&st[4]);
 从st[4]开始复制给p,最终p=“are you
 Ba是数组名,没法自增。
 Ca只有11个字符,而st 有11个字符 再加上 10是12个,不够用。
 D 没给a的长度。
  
答案:AABC(勉强对)
1.%8.6f 8指总长为8,小数点为6位