C语言读程序
c语言阅读程序题
阅读程序题(共13分)6.以下程序运行时输出结果是(6 ) 。
#include<stdio.h>#define M 3#defme N M+1#define NN N*N/2main() .{printf("%d\n",NN);}7.以下程序运行时输出结果是(7) 。
#include <stdio.h>main(){char a=256:int d=a;prinff("%d",d+1);} 、8•有如下程序,假定所用编译系统用两个字节存储一个int型操作数,已知输出结果第一行是FFD2,则第二行应当是( 8)main(){int a[10]={1,2,3,4,5,6,7,8,9,0},*p;P=&a[5];printf("%X\n",p);printf("%X\n",p-1);9•以下程序运行时输出结果的第一行是(9) ,第二行是(10)。
int C:void fl(int x,int *sum){static int y;x++;y++;c=c+y;*sum=(x+y)/c;}main(){int a,b=100:for(a=O;a<2;a++){f1(a,&b);printf("%d%d%d\n",a,b,c)} ,10.以下程序运行时输出结果的第一行是___(11)_______,第三行是______(12)__________#include<stdio.h>void mat_change(int b[4][4]){int i,j,m,n,k,c[6][6];for(i=0;i<6;i++)for(j=0;j<6;j++) c[i][j]=1;for(i=1;i<5;i++)for(j=1;j<5;j++) c[i][j]=b[i-1][j-1];for(i=1;i<5;i++)for(j=1;j<5;j++){if(c[i][j]==0){k=0;for(m=-1;m<=1;m++)for(n=-1;n<=1;n++)if(!(m==O&&n==O))k=k+c[i+m][j+n];if(k==8)c[i][j]=1;}}for(i=1;i<5;i++)for(j=1;j<5;j++)b[i-1][j-1]=c[i][j];}main(){int i,j,a[4][4]={{0,1},{1,1,1,l},{0,1,0,1},{0,1,1,1}};mat_change(a);for(i=0;i<4;i++) .{for(j=0;j<4;j++)printf("%d",a[i][j]);printf("\n");}}11.以下程序运行时输出结果是(13) 。
读写硬盘扇区的C语言程序
读写硬盘的MBR和DBR扇区的程序。
/******************************************** Master Boot Record Programme: ** Backup the Master Boot Sector ** Fix the Master Boot Sector ** Change the Partition Table ** -- by Crystal.Mouse 04/30/99 -- ** Turboc 2.0 ********************************************/#include <ctype.h>#include <stdlib.h>#include <stdio.h>#include <bios.h>#include <io.h>#include <dos.h>#include <fcntl.h>#include <sys\stat.h>#include <conio.h>/* define the */char buff[512]; /*buffer for master boot sector *//* buffer1 backup for master boot sector */char buff1[512];/* This is the dos boot programme data */char sector2[512]={0xEB,0x3C,0x90,0x4D,0x53,0x57,0x49,0x4E,0x34,0x2E,0x31,0x00, 0x02,0x20,0x01,0x00,0x02,0x00,0x02,0x00,0x00,0xF8,0xC9,0x00,0x3F,0x00,0x40,0x00,0x3F,0x00,0x00,0x00,0x01,0x0A,0x19,0x00,0x80,0x00,0x29,0xDC,0x12,0x6F,0x04,0x30,0x34,0x32,0x36,0x39,0x39,0x20,0x20,0x20,0x20,0x20,0x46,0x41,0x54,0x31,0x36,0x20,0x20,0x20,0xFA,0x33,0xC9,0x8E,0xD1,0xBC,0xFC,0x7B,0x16,0x07, 0xBD,0x78,0x00,0xC5,0x76,0x00,0x1E,0x56,0x16,0x55,0xBF,0x22, 0x05,0x89,0x7E,0x00,0x89,0x4E,0x02,0xB1,0x0B,0xFC,0xF3,0xA4, 0x06,0x1F,0xBD,0x00,0x7C,0xC6,0x45,0xFE,0x0F,0x8B,0x46,0x18, 0x88,0x45,0xF9,0x38,0x4E,0x24,0x7D,0x22,0x8B,0xC1,0x99,0xE8, 0x77,0x01,0x72,0x1A,0x83,0xEB,0x3A,0x66,0xA1,0x1C,0x7C,0x66, 0x3B,0x07,0x8A,0x57,0xFC,0x75,0x06,0x80,0xCA,0x02,0x88,0x56, 0x02,0x80,0xC3,0x10,0x73,0xED,0x33,0xC9,0x8A,0x46,0x10,0x98, 0xF7,0x66,0x16,0x03,0x46,0x1C,0x13,0x56,0x1E,0x03,0x46,0x0E, 0x13,0xD1,0x8B,0x76,0x11,0x60,0x89,0x46,0xFC,0x89,0x56,0xFE, 0xB8,0x20,0x00,0xF7,0xE6,0x8B,0x5E,0x0B,0x03,0xC3,0x48,0xF7, 0xF3,0x01,0x46,0xFC,0x11,0x4E,0xFE,0x61,0xBF,0x00,0x07,0xE8, 0x23,0x01,0x72,0x39,0x38,0x2D,0x74,0x17,0x60,0xB1,0x0B,0xBE, 0xD8,0x7D,0xF3,0xA6,0x61,0x74,0x39,0x4E,0x74,0x09,0x83,0xC7, 0x20,0x3B,0xFB,0x72,0xE7,0xEB,0xDD,0xBE,0x7F,0x7D,0xAC,0x98, 0x03,0xF0,0xAC,0x84,0xC0,0x74,0x17,0x3C,0xFF,0x74,0x09,0xB4, 0x0E,0xBB,0x07,0x00,0xCD,0x10,0xEB,0xEE,0xBE,0x82,0x7D,0xEB, 0xE5,0xBE,0x80,0x7D,0xEB,0xE0,0x98,0xCD,0x16,0x5E,0x1F,0x66, 0x8F,0x04,0xCD,0x19,0xBE,0x81,0x7D,0x8B,0x7D,0x1A,0x8D,0x45, 0xFE,0x8A,0x4E,0x0D,0xF7,0xE1,0x03,0x46,0xFC,0x13,0x56,0xFE, 0xB1,0x04,0xE8,0xC1,0x00,0x72,0xD6,0xEA,0x00,0x02,0x70,0x00, 0xB4,0x42,0xEB,0x2D,0x60,0x66,0x6A,0x00,0x52,0x50,0x06,0x53, 0x6A,0x01,0x6A,0x10,0x8B,0xF4,0x74,0xEC,0x91,0x92,0x33,0xD2, 0xF7,0x76,0x18,0x91,0xF7,0x76,0x18,0x42,0x87,0xCA,0xF7,0x76, 0x1A,0x8A,0xF2,0x8A,0xE8,0xC0,0xCC,0x02,0x0A,0xCC,0xB8,0x01, 0x02,0x8A,0x56,0x24,0xCD,0x13,0x8D,0x64,0x10,0x61,0x72,0x0A, 0x40,0x75,0x01,0x42,0x03,0x5E,0x0B,0x49,0x75,0x77,0xC3,0x03, 0x18,0x01,0x27,0x0D,0x0A,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64, 0x20,0x73,0x79,0x73,0x74,0x65,0x6D,0x20,0x64,0x69,0x73,0x6B, 0xFF,0x0D,0x0A,0x44,0x69,0x73,0x6B,0x20,0x49,0x2F,0x4F,0x20,0x61,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x6B,0x2C,0x20,0x61,0x6E,0x64,0x20,0x74,0x68,0x65,0x6E,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x61,0x6E,0x79,0x20,0x6B,0x65,0x79,0x0D,0x0A,0x00,0x00,0x49,0x4F,0x20,0x20,0x20,0x20,0x20,0x20,0x53,0x59,0x53,0x4D,0x53,0x44,0x4F,0x53,0x20,0x20,0x20,0x53,0x59,0x53,0x7F,0x01,0x00,0x41,0xBB,0x00,0x07,0x80,0x7E,0x02,0x0E,0xE9,0x40,0xFF,0x00,0x00,0x55,0xAA};/* sector1 is the Master boot program data */char sector1[512]={0xFA,0x33,0xC0,0x8E,0xD0,0xBC,0x00,0x7C,0x8B,0xF4,0x50,0x07, 0x50,0x1F,0xFB,0xFC,0xBF,0x00,0x06,0xB9,0x00,0x01,0xF2,0xA5,0xEA,0x1D,0x06,0x00,0x00,0xB8,0x01,0x02,0xBB,0x00,0x08,0xB9,0x01,0x00,0xBA,0x80,0x00,0xCD,0x13,0xBF,0x00,0x06,0xBE,0x00,0x08,0xB9,0x00,0x01,0xFC,0xF3,0xA7,0x74,0x14,0xBE,0x17,0x07,0xE8,0x2F,0x01,0xB8,0x01,0x03,0xBB,0x00,0x06,0xB9,0x01,0x00,0xBA,0x80,0x00,0xCD,0x13,0xBE,0xBE,0x07,0xB3,0x04,0x80,0x3C,0x80,0x74,0x0E,0x80,0x3C,0x00,0x75,0x1C,0x83,0xC6,0x10,0xFE,0xCB,0x75,0xEF,0xCD,0x18,0x8B,0x14,0x8B,0x4C,0x02,0x8B,0xEE,0x83,0xC6,0x10,0xFE,0xCB,0x74,0x0D,0x80,0x3C,0x00,0x74,0xF4,0xBE,0xAE,0x06,0xE8,0xF0,0x00,0xEB,0xFE,0xBF,0x05,0x00,0xBB,0x00,0x7C,0xB8,0x01,0x02,0x57,0xCD,0x13,0x5F,0x73,0x0C,0x33,0xC0,0xCD,0x13,0x4F,0x75,0xED,0xBE,0xD2,0x06,0xEB,0xE0,0xBE,0xF7,0x06,0xBF,0xFE,0x7D,0x81,0x3D,0x55,0xAA,0x75,0xD4,0x8B,0xF5,0xEA,0x00,0x7C,0x00,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x70,0x61,0x72,0x74,0x69,0x74,0x69,0x6F,0x6E,0x20,0x74,0x61,0x62,0x6C,0x65,0x2E,0x20,0x4F,0x68,0x2C,0x6D,0x79,0x20,0x67,0x6F,0x64,0x21,0x00,0x45,0x72,0x72,0x6F,0x72,0x20,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x20,0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6E,0x67,0x20,0x73,0x79,0x73,0x74,0x65,0x6D,0x6E,0x67,0x20,0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6E,0x67,0x20,0x73,0x79,0x73,0x74,0x65,0x6D,0x2E,0x20,0x53,0x68,0x69,0x74,0x21,0x00,0x4D,0x61,0x73,0x74,0x65,0x72,0x20,0x42,0x6F,0x6F,0x74,0x20,0x53,0x65,0x63,0x74,0x6F,0x72,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x2E,0x0A,0x0D,0x44,0x6F,0x6E,0x27,0x74,0x20,0x77,0x6F,0x72,0x72,0x79,0x2C,0x49,0x20,0x68,0x61,0x76,0x65,0x20,0x72,0x65,0x63,0x6F,0x76,0x65,0x72,0x65,0x64,0x20,0x69,0x74,0x21,0x20,0x43,0x6C,0x65,0x76,0x65,0x72,0x21,0x20,0x45,0x54,0x2D,0x4D,0x6F,0x75,0x73,0x65,0x20,0x59,0x65,0x61,0x68,0x21,0x0A,0x0D,0x00,0xAC,0x3C,0x00,0x74,0x0B,0x56,0xBB,0x07,0x00,0xB4,0x0E,0xCD,0x10,0x5E,0xEB,0xF0,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0xAA};char fnwrite[20],fnread[20]; /* filename */FILE *fp; /* file pointer */int head,cylinder,sector,drive; /* harddisk head,cylinder sector drive */ /* define the key code */#define ESC 0x011b#define LEFT 0x4b00#define RIGHT 0x4d00#define UP 0x4800#define DOWN 0x5000#define HOME 0x4700#define END 0x4f00#define PGUP 0x4900#define PGDN 0x5100#define F2 0x3c00#define F1 0x3b00#define W 1#define R 0 /* flag for */#define D 0 /* flag for Dos Boot Sector */#define M 1 /* flag for Master Boot Sector *//* declare the function */int fileopen(int f,char *file); /*Read or Creat the backupfile */int writembr(char *file); /* write the buffer to master boot sector */ int writedbr(char *file); /* write the buffer to dos boot sector */int backupmbr(char *file); /* backup the Master Boot record data */ int backupdbr(char *file); /* backup the dos boot sector data */ int printmbr(); /* print the master boot sector */int init(int f); /* init the operating */void help(); /*help*/void title(); /* display the infomation */int copypart(char *src,char *dest);void infina(char *file); /* open or creat the backup file */void closecur(); /* close the cursor */void opencur(); /* open the cursor */int display(); /* display the data */void interrupt(*reset)(); /* interrupt reset the machine */void resetwin(); /* reset the screen */void search(); /* search the dos boot sector */int detect(int num,int driver,int f); /* detect the drive */int detect(int num,int driver,int f)/* detect the disk */{union REGS r;r.h.ah=num;r.h.dl=driver;int86(0x13,&r,&r);if(f)return r.h.al;elsereturn r.x.cflag;}/* backup the dos boot sector */int backupdbr(char *file){int flag=1; /* flag for success or not */if(!fileopen(W,file)){printf("\nBackup file write error!");flag=0;}return flag;}/* rewrite the dos boot record */int writedbr(char *file){int flag; /* flag for success or not */char key;search(); /* search the the dos boot sector: head , cylinder and sector */ init(D); /* initialize the dos boot sector data to the buffer */printf("\nWarning...");printf("\nIt might destory your harddisk!");printf("\nDo you want to a backup?(y/n)");key=getch();switch(key){case 'y':case 'Y':infina(fnwrite); /* input the backup filename */if(!backupdbr(fnwrite)){printf("\nBackup error!");flag=0;break;}case 'n':case 'N':if(!fileopen(R,file)) /* open the existed backup file data to buffer */ {printf("\nBackup file %s open error!",file);flag=0;return flag;}}/* rewrite the dos boot sector with the buffer data */if(biosdisk(0x03,0x80,head,cylinder,sector,1,buff1)) {printf("\nWrite Master Boot Sector error!");flag=0;}else{printf("\nWrite Dos Boot Sector OK!");flag=1;}}/* backup the Master Boot Sector data to file */int backupmbr(char *file){int flag=1;init(M); /* initialize the master boot sector to the buffer */ if(!fileopen(W,file)){printf("\nBackup file write error!");flag=0;}return flag;}int fileopen(int f,char *file)/* f for read or creat file */{int flag=1;if(f==0){if((fp=fopen(file,"rb"))!=NULL){fread(buff1,512,1,fp);fclose(fp);}else flag=0;}if(f==1){if((fp=fopen(file,"wb"))!=NULL){fwrite(buff,512,1,fp);fclose(fp);}else flag=0;}return flag;}int writembr(char *file){int flag=1;char key;printf("\nWarning...");printf("\nIt might destory your harddisk!");printf("\nDo you want to a backup?(y/n)");key=getch();switch(key){case 'y':case 'Y':infina(fnwrite);init(M); /* initialize the MBR to buffer */if(!backupmbr(fnwrite)) /* backup the MBR */{printf("\nBackup error!");flag=0;}printf("\nFile %s backup ok!",fnwrite);if(!biosdisk(0x03,0x80,0,0,3,1,buff))printf("\nThe old MBR write to head:0 , Cylinder:0 ,Sector:1 error!");if(!biosdisk(0x03,0x80,0,0,5,1,buff))printf("\nThe old MBR write to head:0 , Cylinder:0 ,Sector:1 error!");printf("\nThe old MBR also backup to the harddisk side 0 cylinder 0 sector 3 and 5.");flag=1;case 'n':case 'N':if(!fileopen(R,file)) /* open the existed backup file */{flag=0;return flag;}}if(biosdisk(0x03,0x80,0,0,1,1,buff1)) /* Rewrite the MBR with buffer1 */ {printf("\nWrite Master Boot Sector error!");flag=0;}else{printf("\nWrite Master Boot Sector OK!");flag=1;}return flag;}int init(int f){int i;int result=1;for(i=0;i<512;i++) /* initialize the buffer */buff[i]=0;if(f){if(biosdisk(0x02,0x80,0,0,1,1,buff)) /* read the Mbr to buffer */{result=0;}}else if(biosdisk(0x02,0x80,head,cylinder,sector,1,buff)) {printf("\nDos Boot Sector read error!");result=0;}return result;}main(){int far *res=(int far *)0x472; /* the data for reset */int i,j,k;char key;reset=MK_FP(0xffff,0x0000); /* reset interrupt address */clrscr();while(1){printf("\nSetMbr programme...('h' for help)");printf("\n.");key=getch();printf("%c",key);switch(key){case 'H':case 'h':help();break;/* rewrite the MBR sector */case 'w':case 'W':infina(fnread); /* input the existed file name */ if(!writembr(fnread)){printf("\nWrite HardDisk MBR error!");printf("\nPress 'v' to check it.");printf("\nPress 'm' to fix it.");}elseprintf("\nWrite HardDisk MBR OK!");break;/* backup the MBR sector */case 'b':case 'B':infina(fnwrite);if(!backupmbr(fnwrite))printf("\nBackup MBR error!");elseprintf("\nBackup MBR OK!");break;/* rewrite the dos boot sector */case 'd':case 'D':infina(fnread);{printf("\nWrite Dos Boot Sector error!");printf("\nPress 'v' to view the Dos Boot Sector!");break;}break;/* backup the dos boot sector */case 'o':case 'O':infina(fnwrite);search();init(D);if(!backupdbr(fnwrite))printf("\nBackup Dos Boot Sector error!");elseprintf("\nBackup Dos Boot Sector OK!");break;/* rewrite the dos boot sector with default data */ case 'i':case 'I':search();init(D);printf("\nIt would modify the Dos Boot secotr!");printf("\nDo you want to backup?(Y/N)");key=getch();if(key=='y' || key=='Y'){if(!backupmbr(fnwrite))printf("\nBackup Error!");elseprintf("\nBackup OK!");}elseif(key=='n' || key=='N')printf("\nWarning:it would modify the Dos Boot Sector!"); /* write the sector2 to the dos boot sector */if(biosdisk(0x03,0x80,head,cylinder,sector,1,sector2)!=0) printf("\nDos Boot Sector Write error!");elseprintf("\nDos Boot Sector Write OK!");break;/* reset the machine */case 'r':case 'R':*res=0x1234;(*reset)();/* view the harddisk sector data */case 'v':case 'V':search();printmbr();break;/* fixed the flappy boot sector */case 'f':case 'F':printf("\nWhich dekette? -> (A,B,...):");key=getch();printf("%1c:",key);if(key>=97)key=key-97;elsekey=key-65;/* if(detect(0x10,key,0)){printf("\nDriver %1c: not ready!",key+65);break;}elseif(detect(0x13,key,1)==0x03){printf("\nDriver %1c: write protect!",key+65);break;}else */if(biosdisk(0x03,key,0,0,1,1,sector2))printf("\nDriver %c: write error!",key+65);elseprintf("\nDrive %1c: write OK!",key+65);break;/* fixed the MBR with default data */case 'm':case 'M':printf("\nIt would modify the Master Boot Record.");printf("\nDo you want to backup?(Y/N)");key=getch();printf("%1c",key);if(key=='y' || key=='Y'){infina(fnwrite);if(!backupmbr(fnwrite)){printf("\nBackup Error!");break;}}elseif(key=='n' || key=='N')printf("\nWarning:it would modify the Master Boot Sector!");init(M);if((buff[0x1be]&0x00ff)==0x80 || (buff[0x1be+16]&0x00ff)==0x80|| (buff[0x1be+32]&0x00ff)==0x80 || (buff[0x1be+48]&0x00ff)==0x80) copypart(buff+0x1be,sector1+0x1be);if(biosdisk(0x03,0x80,0,0,1,1,sector1)){printf("\nHardDisk Write error!");break;}else{printf("\nHardDisk Write OK!");printf("\nPress 'v' to check it.");}break;/* dos shell */case 's':case 'S':printf("\nPress 'Exit' to return....");system("");break;/* exit */case 'q':case 'Q':title();return 1;/* print the undefine command */default:printf("%cBad command!",27);}}}/* display the information */void title(){printf("\nThank you for using the programme...");printf("\nProgrammer:Crystal.Mouse");printf("\nDate:05/01/1999");}/* change the destination partition table data with the source data */ int copypart(char *src,char *dest){char len=0x40;while(len>=0){*(dest+len)=*(src+len);len--;}}/* input the filename */void infina(char *file){printf("\nPlease input the file name:");scanf("%s",file);}void search(){int i,addr;init(M);for(i=0x1be;i<0x1fe;i++)if((buff[i]&0x00ff)==0x80){addr=i;break;}head=buff[addr+1];sector=(buff[addr+2]<<2)>>2;cylinder=(buff[addr+2]>>6)*256+buff[addr+3]; }/* close the cursor */void closecur(){union REGS r;r.h.ah=1;r.h.ch=0x20;int86(0x10,&r,&r);}/* open the cursor */void opencur(){union REGS r;r.h.ah=1;r.h.ch=12;r.h.cl=13;int86(0x10,&r,&r);}void help(){printf("\n\tMaster Boot sector backup programme...");printf("\n\tH: help.");printf("\n\tW: ReWrite the Master Boot Record from a file.");printf("\n\tB: Backup the Master Boot Record to a file.");printf("\n\tO: Save the Dos Boot Sector to a file.");printf("\n\tD: Rewrite the Dos Boot Sector from a file.");printf("\n\tI: Rewrite the Dos Boot Sector with a default.");printf("\n\tV: View the Master Boot Record.");printf("\n\tF: Fixed the floppy Boot Sector.");printf("\n\tM: The same with Command:'Fdisk /mbr'.");printf("\n\tS: Dos shell.");printf("\n\tQ: Exit the programme.");printf("\n Press any key to continue...");getch();sound(2000);delay(2000);nosound();}/* print the mbr */int printmbr(){int count=1;int key;int f=0;closecur();init(M);display(count,&f);while(bioskey(1)==0);key=bioskey(0);while(1){switch(key){case ESC:resetwin();return 1;case HOME:count=1;f=0; break;case END: count=63;f=0; break;case PGUP: case UP: case LEFT: if(count<=1) count=63; elsecount--;f=0; break;case PGDN: case DOWN: case RIGHT: if(count>=63) count=1; elsecount++;f=0; break;case F2:if(f==0){f=1; break;}{f=0;break;}case F1:resetwin();printf("\nIt would save the sector to a file...");if(f){ if(biosdisk(0x02,0x80,head,cylinder,sector,1,buff)!=0) {printf("\nharddisk Dos Boot Sector read error!");break;}}elseif(biosdisk(0x02,0x80,0,0,count,1,buff)){printf("\nHardDisk MBR read error!");break;}infina(fnwrite);if(!fileopen(W,fnwrite))printf("\nFile %s Write error!",fnwrite);else{printf("\nFile %s save OK.",fnwrite);printf("\nPress any key to return...");}break;default:break;}display(count,f);while(bioskey(1)==0);key=bioskey(0);}}/* reset the screen */void resetwin(){opencur();window(1,1,80,25);textcolor(WHITE);textbackground(BLACK);clrscr();}/* put the buffer data to the screen */ int display(int count,int f){int lines,i;resetwin();closecur();i=count;if(f)if(biosdisk(0x02,0x80,head,cylinder,sector,1,buff)){printf("\nHarddisk read error!");resetwin();return 0;}}elseif(biosdisk(0x02,0x80,0,0,count,1,buff)){printf("\nHarddisk read error!");resetwin();return 0;}window(1,25,80,25);textbackground(CYAN);textcolor(WHITE);clrscr();cprintf(" HELP:ESC PGUP PGDN HOME END %c %c %c %c %c ",24,26,25,27,179); textcolor(RED);cprintf("F1");textcolor(WHITE);cprintf(":Save this sector to a file.");cprintf(" 05/01/99");window(1,1,80,1);textbackground(LIGHTGRAY);textcolor(LIGHTGREEN);clrscr();cprintf(" HardDisk C:1 %c 63 Sector",196);cprintf(" ( DOS BOOT SECTOR ) By: Howard.Crystal ");elsecprintf(" (Hard Disk Partition Table) By: Howard.Crystal ");window(1,2,80,24);textbackground(BLUE);textcolor(WHITE);clrscr();gotoxy(1,1);if(!f){cprintf(" Head:%-d Cylinder:%-d Sector:%-d",0,0,i);cprintf(" F2: View Dos Boot Sector\n");}else{cprintf(" Head:%-d Cylinder:%-d Sector:%-d",head,cylinder,sector); cprintf(" F2: View Master Boot Sector\n");}lines=1;gotoxy(1,1);for(i=0;i<512;i++){if(i%24==0){lines++;gotoxy(1,lines);}if(i%4==0)cprintf(" ");if(f)if(buff[510]==0x55 && (buff[511]&0x00ff)==0xaa)if(i>=510){textattr(RED+(BLUE<<4)+BLINK); /* flash the special data */sound(1000);delay(1000);nosound();cprintf("%02x",buff[i]&0x00ff);textcolor(WHITE);}elsecprintf("%02x",buff[i]&0x00ff);elsecprintf("%02x",buff[i]&0x00ff);elseif(buff[510]==0x55 && (buff[511]&0x00ff)==0xaa)if(i>=0x1be && (((i-0x1be)%16==0 && (buff[i]&0x00ff)==0x80) || (buff[i]&0x00ff)==0x55 || (buff[i]&0x00ff)==0xaa)){textattr(RED+(BLUE<<4)+BLINK);cprintf("%02x",buff[i]&0x00ff);sound(1000);delay(1000);nosound();textcolor(WHITE);}elsecprintf("%02x",buff[i]&0x00ff);elsecprintf("%02x",buff[i]&0x00ff); }lines=1;for(i=0;i<512;i++){if(i%24==0)lines++;gotoxy(57+i%24,lines);if(isprint(buff[i]))cprintf("%1c",buff[i]);elsecprintf(".");}return 1;}。
c语言编写pdf阅读程序
标题:C语言编写PDF阅读程序PDF是一种常用的电子文档格式,广泛应用于各种领域。
由于其跨平台、跨设备的特性,PDF已经成为数字文档的标准格式之一。
为了在C语言中实现PDF阅读功能,需要借助一些第三方库。
本文将介绍如何使用C语言编写PDF阅读程序,共分为六个大点,每个大点中包含3-5个小点。
一、选择合适的PDF处理库在C语言中,有很多第三方库可以用于处理PDF文件。
常用的PDF处理库有libcurl、libharu、Poppler等。
这些库提供了丰富的API,可以帮助开发者轻松地读取、解析和渲染PDF文件。
选择一个适合自己需求的库是实现PDF阅读程序的关键。
1. libcurl:一个用于数据传输的客户端库,可以用来下载PDF 文件。
2. libharu:一个开源的PDF生成库,也可以用来解析PDF文件。
3. Poppler:基于Xpdf库的跨平台PDF渲染库,提供了丰富的API用于PDF处理。
二、安装和配置库在开始编写代码之前,需要先安装和配置选定的PDF处理库。
不同库的安装和配置方法略有不同,具体可以参考库的官方文档。
一般来说,需要下载库的源代码,然后编译和安装。
在配置项目时,需要将库的头文件和库文件路径添加到编译器的包含目录和链接器库目录中。
三、读取和解析PDF文件读取和解析PDF文件是实现PDF阅读程序的核心步骤。
使用所选的PDF处理库,可以方便地读取和解析PDF文件的内容。
一般来说,需要读取PDF文件的元数据、页面内容、字体等元素,以便于后续的渲染和显示。
解析过程中可能需要处理PDF文件的加密和权限验证等问题。
1. 读取PDF文件:使用所选库提供的API,读取指定路径下的PDF文件。
2. 解析PDF元数据:解析PDF文件的元数据,如标题、作者、创建时间等。
3. 解析页面内容:解析PDF文件的页面内容,包括文本、图像、形状等元素。
4. 处理加密和权限验证:如果PDF文件被加密或设置了权限验证,需要处理这些问题以便于正常读取和解析。
C语言读程序写结果练习题
读程序写结果一、数组1.#include <stdio.h>void main(){int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i<8;i++)a[i]+= a[i-1] + a[i-2];for(i=0;i<8;i++)printf(“%5d”,a[i]);}2.#include <stdio.h>void main(){float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t;int i;t=b[0];for(i=0;i<5;i++)b[i]=b[i+1];b[5]=t;for(i=0;i<6;i++)printf(“%6.2f”,b[i]);}3.#include <stdio.h>void main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7 && p[i]%2){ k=k+p[i]; i++;}printf("k=%d\n",k);}4. void main(){ int a[3][3]={1,3,5,7,9,11,13,15,17};int sum=0,i,j;for (i=0;i<3;i++)for (j=0;j<3;j++){ a[i][j]=i+j;if (i==j)sum=sum+a[i][j];}printf("sum=%d",sum);}5.void main(){ int a[4][4],i,j,k;for (i=0;i<4;i++)for (j=0;j<4;j++)a[i][j]=i-j;for (i=0;i<4;i++){ for (j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}}6. #include <stdio.h>main(){ int i,s;char s1[100],s2[100];printf("input string1:\n"); gets(s1); printf("input string2:\n"); gets(s2); i=0;while ((s1[i]==s2[i])&&(s1[i]!='\0')) i++;if ((s1[i]=='\0')&&(s2[i]=='\0')) s=0; else s=s1[i]-s2[i];printf("%d\n",s);}输入数据 aidand7.void main(){char ch[3][5]={ "AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}1.1 0 2 2 5 7 13 20 2.2.20 3.30 4.40 5.50 6.60 1.103.k=244.sum=65.1 02 1 03 2 1 06.-57.“BBB”二、指针1、char cchar(char ch){ if (ch>=‘A’&&ch<=‘Z')ch=ch-‘A'+‘a';return ch;}void main(){ char s[]="ABC+abc=defDEF",*p=s;while(*p){ *p=cchar(*p);p++;}printf("%s\n",s);}2、void main( ){ int a[5]={2,4,6,8,10},*p,* *k;p=a; k=&p;printf("%d",*(p++));printf("%d\n",* *k);}3、funa(int a,int b ) { return a+b;}funb(int a,int b ) { return a-b;}sub( int (*t)( ),int x,int y ){ return ((*t)(x,y));}void main( ){ int x ,(*p)( );p=funa;x=sub(p,9,3);x+=sub(funb,8,3);printf("%d\n",x);}4、void main( ){ char *s="12134211";int v[4]={0,0,0,0} ;int k,i;for(k=0;s[k];k++){ switch(s[k]){ case '1':i=0;case '2':i=1;case '3':i=2;case '4':i=3;}v[i]++;}for(k=0;k<4;k++) printf("%d",v[k]);}5、# include "ctype.h"void space(char *str){ int i ,t ;char ts[81];for(i=0,t=0 ;str[i]!='\0' ;i+=2)if(! isspace(*(str+i))&&(*(str+i)!='a')) ts[t++]=toupper(str[i]) ;ts[t]='\0' ; strcpy(str ,ts) ;}void main( ){ char s[81]={"abcdefg"} ;space(s); puts(s);}6、#include<stdio.h>sub1(char a ,char b) { char c ; c=a ;a=b ;b=c ;}sub2(char * a ,char b) { char c ; c=*a ;*a=b ;b=c ;}sub3(char * a ,char *b){ char c ; c=*a ;*a=*b ;*b=c ;} void main(){ char a ,b ;a='A' ;b='B' ;sub3(&a ,&b) ;putchar(a) ;putchar(b) ;a='A' ;b='B' ;sub2(&a ,b) ;putchar(a) ;putchar(b) ;a='A' ;b='B' ;sub1(a ,b) ;putchar(a) ;putchar(b) ;}7、void main(){ char b[ ]="ABCDEFG";char *chp=&b[7];while(--chp>&b[0])putchar(*chp);putchar('\n');}8、void prtv(int * x){ printf("%d\n",++*x);}void main(){ int a=25 ;prtv(&a);}9、int aa[3][3]={{2},{4},{6}};void main(){ int i ,*p=&aa[0][0];for(i=0;i<2;i++){ if(i==1) aa[i][i+1]=*p+1;else ++p;printf("%d",*p);}}10、int f(int b[ ],int n){ int i ,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}void main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}1、abc+abc=defdef2、243、174、00085、CEG6、BABBAB7、GFEDCB8、269、0010、120三、结构体1、#include <stdio.h>struct abc { int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d \n",t);}2、#include <stdio.h>struct stu{ int num;char name[10]; int age;};void fun(struct stu *p){ printf("%s\n" ,(*p).name); }void main(){ struct stu students[3]={{9801,"Zhang",20} ,{9802,"Wang", 19} , {9803,"Zhao",18} };fun(students+2);}3、#include <stdio.h>void main(){ enum team { my ,your=4 ,his ,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}4、#include <stdio.h>struct st { int x;int *y;} *p ;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] };void main(){ p=aa;printf("%d, ", ++p->x);printf("%d, ",(++p)->x);printf("%d\n",++(*p->y));}5、#include <stdio.h>union myun{ struct{ int x, y, z; } u;int k;} a;void main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}6、#include <stdio.h>struct STU{ char num[10]; float score[3]; };void main(){ struct STU s[3]={{“20021”,90,95,85},{“20022”,95,80,75}, {“20023”,100,95,90}},*p=s;int i; float sum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf(“%6.2f\n”,sum);}7、#include <stdio.h>#include <stdlib.h>struct NODE{ int num; struct NODE *next; };void main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf(“%d\n”,p->num+q->next->num);}8、#include <stdio.h>typedef union student{ char name[10];long sno;char sex;float score[4];} STU;void main(){ STU a[5];printf(“%d\n”,sizeof(a));}1、 62、 Zhao3、 045154、 51, 60, 215、 06、 270.007、 408、 80。
用c语言实现串口读写程序
用c语言实现串口读写程序一、前言串口通信是一种常见的通信方式,它可以实现单片机与计算机之间的数据传输。
在嵌入式系统中,使用串口通信可以方便地进行调试和数据传输。
本文将介绍如何使用C语言实现串口读写程序。
二、硬件准备在进行串口通信之前,需要准备好相应的硬件设备。
一般来说,需要一台计算机和一个串口转USB模块(或者直接使用带有串口接口的计算机)。
同时,在单片机端也需要连接一个串口模块。
三、C语言编程实现1. 打开串口在C语言中,可以通过打开文件的方式来打开串口设备。
下面是一个示例代码:```#include <stdio.h>#include <fcntl.h>#include <termios.h>int open_serial_port(const char *device_path, int baud_rate) {int fd;struct termios options;fd = open(device_path, O_RDWR | O_NOCTTY | O_NDELAY); if (fd == -1) {perror("open_serial_port: Unable to open device");return -1;}fcntl(fd, F_SETFL, 0);tcgetattr(fd, &options);cfsetispeed(&options, baud_rate);cfsetospeed(&options, baud_rate);options.c_cflag |= (CLOCAL | CREAD);options.c_cflag &= ~PARENB;options.c_cflag &= ~CSTOPB;options.c_cflag &= ~CSIZE;options.c_cflag |= CS8;options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);options.c_oflag &= ~OPOST;tcsetattr(fd, TCSANOW, &options);return fd;}```在上述代码中,open_serial_port函数用来打开串口设备,并设置相应的参数。
24c16读写驱动程序(c语言)
//93c01=93c46
//93c56=93c66
//93c76=93c86
//dipx 可以自行定义
#define di_93 dip3
#define sk_93 dip2
#define cs_93 dip1
#define do_93 dip4
unsigned char ddd;
ddd=((address&0x7ff)/256)<<1;
s24();wd24(0xa0|ddd);scl=0;wd24(address);scl=0;wd24(dd);scl=0;p24();
time=0; //time为定时器时间参考,time增加1代表1ms,如果没有用定时器,取消该行
}
void p24(void) {
sda=0;scl=1;_nop_();sda=1;
}
void p240(void) {
sda0=0;scl0=1;_nop_();sda0=1;
}
unsigned char rd24(void) {
sda=1;
scl=1;a7=sda;scl=0;
nop;
cs_93=1;
high46();
wd46(0x30);
cs_93=0;
}
//特殊封装
#define di_93a dip5
#define sk_93a dip4
#define cs_93a dip3
#define do_93a dip6
#define gnd_93a dip7
high46();
c语言读程序题例题讲解
好的,以下是一个C语言读程序的例题,并附上讲解。
题目:计算一个整数数组中的平均值。
C语言程序示例:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5}; // 定义整数数组int sum = 0; // 定义求和变量int n = sizeof(arr) / sizeof(arr[0]); // 计算数组元素个数 float average; // 定义平均值变量// 计算数组元素之和for (int i = 0; i < n; i++) {sum += arr[i];}// 计算平均值average = sum / n;// 输出结果printf("数组元素之和为:%d\n", sum);printf("数组元素个数为:%d\n", n);printf("平均值为:%.2f\n", average);return 0;}```讲解:1. 首先,我们定义了一个整数数组`arr`,并初始化了它的值。
2. 然后,我们定义了一个求和变量`sum`,用于存储数组元素之和。
3. 使用`sizeof`运算符计算数组元素个数,并将结果存储在变量`n`中。
4. 定义一个浮点数变量`average`,用于存储平均值。
5. 使用`for`循环遍历数组,计算数组元素之和。
6. 计算平均值,即将数组元素之和除以数组元素个数。
7. 使用`printf`函数输出结果,其中使用`%.2f`格式化输出浮点数,保留两位小数。
8. 最后返回0,表示程序正常结束。
c语言程序阅读填空运行结果改错题
三、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是3.141593,3.1416,3.142 .2、int x=6,y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是6,83、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是. 44、for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}程序的输出结果a的值为22 .5、int y=1,x,*p,a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf(“%d\n”,y);程序的输出结果y的值是19 .四、程序填空题1、从键盘上输入10个数,求其平均值。
main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){ scanf(“%f”,&f);Sum+=f ;}printf(“average=%f\n”,sum/10);}2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include <stdio.h>main(){ FILE *fp;char c;fp= ;do{c=getchar();fputs(c,fp);}while(c!=EOF);3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
main(){ float x,amax,amin;scanf(“%f”,&x);amax=x;amin=x;while(x>=0.0 ){ if(x>amax)amax=x;if(x<=amin )amin=x;scanf(“%f”,&x);}printf(“\namax=%f\namin=%f\n”,amax,amin);}三、阅读程序题(1) 3.141593,3.1416,3.142(2)6,8(3) 4(4)22(5)19四、程序填空题1、scanf(“%f”,&f);sum+=f;2、fopen(“myfile”,w)fclose(fp);3、x>=0.0 x<=amin三、阅读程序题1、int x=6,y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是______.2、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是______.3、a=3;a+=(a<1)a:1;printf(“%d”,a);结果是______.4、main(){ int a[5]={2,4,6,8,10},*P,* *k;p=a;k=&p;printf(“%d,”,*(p++));printf(“%d\n”,* *k);程序的输出结果是______.5、main(){int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;} }程序的输出结果a的值为______.四、程序填空题1、求主次对角线之和。
C语言项目实验作业_学生版
C语言项目实验作业系(部)机电与汽车工程学院姓名(学号) 40 庞文胤 25 梁志坚专业(班级) 13电子2班电子教研室编制实验一数据类型、运算符和表达式应用一、实验目的1.掌握C语言数据类型的种类和作用;2.熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,3.掌握不同的类型数据之间赋值的规律;4.灵活运用各种运算符及其表达式;二、实验步骤(一)阅读程序1. 输入并运行以下程序,观察运行结果。
#include <stdio.h>main(){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2); }(1)在第五行后面加入以下printf语句,并运行。
printf("%d,%d\n",c1,c2);(2)在(1)的基础上,将第三行改为以下语句,并运行。
int c1,c2;(3)在(1)的基础上,将第四行改为以下语句,并运行。
c1=321;c2=400;2. 分析并运行此程序,当输入的数据为10时,下面程序的运行结果。
#include <stdio.h>main(){ float x,y;scanf("%f",&x);printf("\n2.4*x-1/2=%f",2.4*x-1.0/2);printf("\nx%%2/5-x=%f",(int)(x)%2/5-x);printf("\n(x-=x*10,x/=10)=%d\n",(x-=x*10,x/=10)); }3.分析以下程序运行的结果#include <stdio.h>main(){ int i,j,m,n ;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}(2) 将第6、7行改为:m=i++;n=++j;(3)程序改为:#include <stdio.h>main(){ int i , j , m=0 , n=0 ;i=8; j=10;m+=i++;n-=--j;printf(“%d,%d,%d,%d\n”,i,j,m,n);}要求:依据题目要求,分析已给出的语句,填写空白。
C语言选择题读程序习题及参考答案
C语言选择题读程序习题及参考答案一、选择题1、一个C程序中可以包含多个不同名的函数,但有且仅有一个。
(A)function (A)分号(B)include (B)逗号(B)print(C)main (C)句号(C)case(D)stdio (D)括号(D)default2、在C语言中,每个语句和数据定义都是用结束的。
3、不是C语言中提供的合法关键字。
(A)switch4、在C语言中,数据类型属于基本类型的是。
(A)整型、实型、字符型(C)结构体类型、实型(A)A p_0 do(B)空类型、枚举型(D)数组类型、实型5、下面四个选项中,均为不合法的用户标识符的是。
(B)float la0 a (D)123 temp INT(C)18和6(D)15和5(C)b-a goto int (A)9和66、语句int i=3,k; k=(i++)+(i++)+(i++); 执行后k和i的值分别为。
(B)12和57、判断字符串a和b相等,应当使用。
(A)if ( a = = b )(B)if ( !strcmp (a , b) ) (D)if ( strcmp (a , b) )(C)if ( strcpy ( a , b ) ) 是。
(A)a&&b(A)(B)(C)(D)10、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。
(A)scanf(�D---‖,&i,&j,&k); (B)scanf(�D%d %d %d‖,&i,&j,&k); (C)scanf(�D%d,%d,%d‖,&i,&j,&k); (D)scanf(�Di=%d,j=%d,k=%d‖,&i,&j,&k);11、能正确表示�Dx的取值范围介于[1,10 ]和[200, 210 ]之间�D的表达式是。
c语言程序设计位运算
一、选择题1、读程序片段:int x=20;printf(“%d\n”, ~x);上面程序片段的输出结果是( ).A)02 B)–20 C)-21 D)-112、表达式~0x13的值是( ).A)0xFFEC B)0xFF71 C)0xFF68 D)0xFF173、在位运算中,操作数每右移一位,其结果相当于( ).A)操作数乘以2 B)操作数除以2 C)操作数除以4 D)操作数乘以44、在位运算中,操作数每左移一位,其结果相当于( ).A)操作数乘以2 B)操作数除以2 C)操作数除以4 D)操作数乘以45、设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是( ).A)00010100 B)00011011 C)00011100 D)000110006、请读程序:struct bit{unsigned a_bit:2;unsigned b_bit:2;unsigned c_bit:1;unsigned d_bit:1;unsigned e_bit:2;unsigned word:8;};main(){struct bit *p;unsigned int modeword;printf(“Enter the mode word (HEX):”);scanf(“%x”,&modeword);p=(struct bit *)&modeword;printf(“\n”);printf(“a_bit: %d\n”,p ->a_bit);printf(“b_bit: %d\n”,p ->b_bit);printf(“c_bit: %d\n”,p ->c_bit);printf(“d_bit: %d\n”,p ->d_bit);printf(“e_bit: %d\n”,p ->e_bit);}若运行时从键盘输入: 96<回车> 则以上程序的运行结果是( ).A)a_bit: 1 B) a_bit: 2 C)a_bit: 2 D) a_bit: 1b_bit: 2 b_bit: 1 b_bit: 1 b_bit: 2c_bit: 0 c_bit: 0 c_bit: 1 c_bit: 2d_bit: 1 d_bit: 1 d_bit: 0 d_bit: 0e_bit: 2 e_bit: 2 e_bit: 2 e_bit: 17、设有以下说明:struct packed{ unsigned one:1;unsigned two:2;unsigned three:3;unsigned four:4;} data;则以下位段数据的引用中不能得到正确数值的是( ).A) data.one =4 B) data.two=3 C) data.three =2 D) data.four=18、设位段的空间分配由右到左,则以下程序的运行结果是( ).struct packed_bit{unsigned a:2;unsigned b:3;unsigned c:4;int i;} data;main(){data.a=8; data.b=2;printf(“%d\n”,data.a+data.b);}A) 语法错 B) 2 C) 5 D) 10二、填空题1、在C语言中,&运算符作为单目运算符时表示的是【】;作为双目运算符时表示的是【】运算.2、与表达式a&=b 等价的另一书写形式是【】.3、与表达式x^=y-2等价的另一书写形式是【】.4、请读程序片段:int a=1,b=2;if(a&b)printf(“***\n”);else printf(“$$$\n”);以上程序片段的输出结果是【】.5、设有char a,b;若要通过a&b运算屏蔽掉a中的其它位,只保留第2和第8位(右起为第1位),则b的二进制数是【】.6、测试char型变量a第六位是否为1的表达式是【】(设最右位是第一位)7、设二进制数x的值是11001101,若想通过x&y运算使x中的低4位不变,高4位轻零,则y的二进制数是【】.8、请读程序片段:int a=-1;a=a |0377;printf(“%d,%o\n”,a,a);以上程序片段的输出结果是【】.9、设x是一个整数(16bit),若要通过x|y使x低8位置1,高8位不变,则y的八进制数是【】.10、x=10100011,若要通过x^y使x的高4位取反,低4位不变,则y的二进制数是【】。
c语言程序阅读填空、运行结果、改错题
三、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是3.141593,3.1416,3.142 .2、int x=6,y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是6,83、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是. 44、for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}程序的输出结果a的值为22 .5、int y=1,x,*p,a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf(“%d\n”,y);四、程序填空题1、从键盘上输入10个数,求其平均值。
main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){ scanf(“%f”,&f);Sum+=f ;}printf(“average=%f\n”,sum/10);}2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include <stdio.h>main(){ FILE *fp;char c;fp= ;do{c=getchar();fputs(c,fp);}while(c!=EOF);3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
main()scanf(“%f”,&x);amax=x;amin=x;while(x>=0.0 ){ if(x>amax)amax=x;if(x<=amin )amin=x;scanf(“%f”,&x);}printf(“\namax=%f\namin=%f\n”,amax,amin);} 三、阅读程序题(1)3.141593,3.1416,3.142(2)6,8(3)4(4)22(5)19四、程序填空题1、scanf(“%f”,&f);sum+=f;2、fopen(“myfile”,w)fclose(fp);3、x>=0.0 x<=amin三、阅读程序题1、int x=6,y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是______.2、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);3、a=3;a+=(a<1)a:1;printf(“%d”,a);结果是______.4、main(){ int a[5]={2,4,6,8,10},*P,* *k;p=a;k=&p;printf(“%d,”,*(p++));printf(“%d\n”,* *k);程序的输出结果是______.5、main(){int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;} }程序的输出结果a的值为______.四、程序填空题1、求主次对角线之和。
c语言程序运行原理
c语言程序运行原理
C语言程序的运行原理是通过编译器将源代码转换为机器语言的可执行文件,然后由操作系统加载并执行。
首先,编写的C语言源代码需要经过编译器进行编译。
编译器会首先对源代码进行词法分析,将代码分解为一个个的标记(token),如关键字、标识符、运算符等。
然后进行语法分析,将标记按照语法规则组合成语法树。
同时,编译器会进行语义分析,检查变量的定义和使用是否符合规范,进行类型检查等。
接下来,编译器将语法树转换为中间代码(通常是类似于汇编语言的形式),并进行优化以提高程序的性能。
优化包括消除冗余代码、减少计算次数等。
最后,编译器将中间代码转换为机器码(二进制文件),生成可执行文件。
可执行文件包含了机器语言的指令、数据和其他可执行文件需要的附加信息。
当用户运行可执行文件时,操作系统会将其加载到内存中,并执行其中的机器指令。
操作系统负责管理程序的执行环境,将指令转换为具体的操作,如内存读写、输入输出等。
程序的执行过程涉及到内存管理、进程调度、权限管理等操作系统的功能。
在程序执行过程中,程序可能会与外部环境进行交互,如从键盘输入数据、向屏幕输出结果。
这种交互通过与操作系统的接
口来实现。
操作系统提供了一些系统调用,可以让程序访问操作系统的功能,如读写文件、网络通信等。
总而言之,C语言程序的运行原理是通过编译器将源代码转换为机器码的可执行文件,然后由操作系统加载并执行,期间涉及到编译、优化、内存管理、进程调度等多个步骤。
C语言之阅读程序
1.有如下程序:#include <stdio.h>void main(){int i,sum=0;for(i=1;i<10;i++){if(i%2==0) continue;sum+=i;}printf("sum=%d\n",sum);}运行结果:sum=252. 有如下程序:#include <stdio.h>void main(){static int a[][3]={9,7,5,3,1,2,4,6,8}; int i,j,s1=0,s2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j) s1=s1+a[i][j];if(i+j==2) s2=s2+a[i][j];}printf("%d\n%d\n",s1,s2);}运行结果:18103.有如下程序:#include <stdio.h>typedef struct{int b,p;}A;void f(A c){ int j;c.b+=1;c.p+=2;}void main(){ int i;A a={1,2};f(a);printf("%d,%d\n",a.b,a.p);}运行结果:1,24.有如下程序:#include <stdio.h>void main(){int x[]={12,34,1,-3,89,45},i,j,t;for(i=0;i<=2;i++){j=6-i-1;t=x[i]; x[i]=x[j];x[j]=t;}for(i=0;i<=5;i++)printf("%d,",x[i]);printf("\n");}运行结果:45,89,-3,1,34,12,5.有如下程序:#include <stdio.h>int sstrcmp(char *s,char *t){ while (*s&&*t&&*s==*t){ s++;t++; }return (*s-*t);}void main(){char *str1="china",*str2="chinAs";printf("%d\n",sstrcmp(str1,str2));}运行结果:326.有如下程序:#include <stdio.h>struct student{int num;char name[20];char sex;int age;}j;struct student stu[3]={{10101,"wangfei",'f',18},{10102,"zhangyun",'m',20},{10104,"zhaoge",'f',19}}; void main(){ struct student *p;printf("NO. name sex age\n");for(p=stu;p<stu+3;p++)printf("%5d %-10s%3c%4d\n",p->num,p->name,p->sex,p->age);}运行结果:NO. name sex age10101 wangfei f 1810102 zhangyun m 2010104 zhaoge f 197.有如下程序:#include <stdio.h>void main(){ static int a[3][3]={{3,2,1},{4,5,6},{-2,9,1}};int i,j,sum=0;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j) sum=sum+a[i][j];printf("sum=%d\n",sum);}运行结果:sum=98.有如下程序:fun(int x,int y){static int m=0,i=2;i+=m+1; m=i+x+y; return m;}#include <stdio.h>void main(){ int j=1,m=1,k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%d\n",k);}运行结果:5,119.有如下程序:#include <stdio.h>fun(int a,int b){ int i,p=1;for(i=1;i<=b;i++)p=p*a;return(p);}void main(){ int x=5;printf("%d\n",fun(x,3));}运行结果:12510.有如下程序:#include <stdio.h>void findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;p<t;p++)if(s[p]<s[*k])*k=p;}void main(){ int a[10]={65,32,21,43,12,8,67,87,9,10};int i,*k=&i;findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}运行结果:5,812.有如下程序:#include <stdio.h>struct STU{ char name[10];int num;float totalscore;};void f(struct STU *p){ struct STU s[2]={{"sundan",20044,550},{"penghua",20045,537}},*q=s;++p; ++q; *p=*q;}void main(){ struct STU s[3]={{"yangsan",20041,703},{"lisiguo",20042,580}};f(s);printf("%s %d %3.0f\n",s[1].name,s[1].num,s[1].totalscore);}运行结果:penghua 20045 53713.有如下程序:#include <stdio.h>void main(){ int i,j,row=0,colum=0,max;int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}printf("max=%d,row=%d,colum=%d\n",max,row,colum);}运行结果:max=10,row=2,colum=114.有如下程序:#include <stdio.h>float max(float x,float y){ float z=x;if(z<y) z=y;return(z);}void main(){ float a=3.5,b=8.7,c;c=max(a,b);printf("%4.2f\n",c);}运行结果:8.7015.有如下程序:#include <stdio.h>void invert(int *s,int num){ int *t,k;t=s+num;while(s<t){ k=*s; *s=*t; *t=k; s++; t--;}}void main(){ int i,n=10,a[10]={1,2,3,4,5,6,7,8,9,10};invert(a,n-1);for(i=0;i<10;i++)printf("%2d",a[i]);printf("\n");}运行结果:10 9 8 7 6 5 4 3 2 116.有如下程序:#include <stdio.h>fact(int n){ int answer;if(n==1)return(1);answer=fact(n-1)*n;return(answer);}void main(){ int sum=0,num;for(num=1;num<=5;num+=2)sum=sum+fact(num);printf("sum=%d\n",sum);}运行结果:sum=12717.有如下程序:#include <stdio.h>void main(){ int a[6];int i,j,t;for(i=1;i<6;i++)scanf("%d",&a[i]);for(j=1;j<=4;j++)for(i=1;i<=5-j;i++)if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=1;i<6;i++)printf("%d,",a[i]);}输入:45 67 -23 0 27运行结果:67,45,27,0,-23,18.有如下程序:#include <stdio.h>#include <math.h>void main(){ int m,k,i;scanf("%d",&m);k=(int)sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1)printf("yes!\n");elseprintf("no!\n");}输入:29运行结果:yes!19.有如下程序:#include <stdio.h>struct STU{ char name[10];int num;};void f1(struct STU c){ struct STU b={"lisiguo",2042};c=b;}void f2(struct STU *c){ struct STU b={"sundan",2044};*c=b;}void main(){ struct STU a={"yangsan",2041},b={"wangyin",2043};f1(a);f2(&b);printf("%d %d\n",a.num,b.num);}运行结果:2041 204420.有如下程序:#include <stdio.h>int value(int array[][4]){ int i,j,max;max=array[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(array[i][j]>max)max=array[i][j];return(max);}void main(){ int a[3][4]={1,3,5,7,2,4,6,8,15,17,34,12};printf("value is %d\n",value(a));}运行结果:value is 3421.有如下程序:#include <stdio.h>void main(){ int x[6]={17,24,5,-9,76,38},i,j,t;for(i=0;i<=2;i++){ j=6-i-1;t=x[i];x[i]=x[j];x[j]=t; }for(i=0;i<=5;i++)printf("%d,",x[i]);printf("\n");}运行结果:38,76,-9,5,24,17,22.有如下程序:#include <stdio.h>#include <string.h>void fun(char *w,char x,int n){ int i,p=0;while(x>w[p])p++;for(i=n;i>=p;i--)w[i+1]=w[i];w[p]=x;}void main(){ char str[10]="adfh";int n;n=strlen(str);fun(str,'e',n);printf("%s\n",str);}运行结果:adefh23.有如下程序:#include <stdio.h>int a=4;int f(int n){ int t=0;static int a=5;if(n%2) { int a=6;t+=a++; }else { int a=7;t+=a++; }return t+a++;}void main(){ int s=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}运行结果:2824.有如下程序:#include <stdio.h>void main(){ int digit,letter,other;char ch;digit=letter=other=0;while((ch=getchar())!='\n'){ if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))letter ++;else if(ch>='0'&&ch<='9')digit ++;elseother ++;}printf("letter=%d,digit=%d,other=%d\n",letter,digit,other); }输入:I have 12 apples and 3 bananas.运行结果:letter=21,digit=3,other=725.有如下程序:#include <stdio.h>void main(){ char a[]="Beijing ligong daxue";char *s=a;int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=' ')s[j++]=s[i];elses[j]=s[i];s[j]='\0';printf("%s\n",s);}运行结果:Beijingligongdaxue26.有如下程序:#include <stdio.h>struct s{int n;int a[20];};void f(int *a,int n){ int i;for(i=0;i<n-1;i++)a[i]+=i;}void main(){ int i;struct s s={10,2,3,1,6,8,7,5,4,10,9};f(s.a,s.n);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);printf("\n");}运行结果:2,4,3,9,12,12,11,11,18,9,27.有如下程序:#include <stdio.h>int fun(int k){ int m=0,mc=0;while ((k>=2)&&(mc<3)){ if ((k%3==0)||(k%7==0)){ m=m+k;mc++;}k--;}return m;}void main(){ printf("%d\n",fun(100));}运行结果:29328.有如下程序:#include <stdio.h>long fib(int g){ if(g==0) return 0;else if(g==1||g==2) return 2;else return ( fib(g-1) + fib(g-2) );} void main(){ long k;k = fib(4);printf("k=%ld\n", k);}运行结果:k=629.有如下程序:#include <stdio.h>void main(){ int m=21,n=14,temp;while(m!=0){ temp=m%n;n=m/n;m=temp;}printf("公约数为:%d\n",n);}运行结果:公约数为:730.有如下程序:#include <stdio.h>typedef struct{int b,p;} A;void f(A c){ c.b+=1;c.p+=2;}void main(){ A a={1,2};f(a);printf("%d,%d\n",a.b,a.p); }运行结果:1,231.有如下程序:#include <stdio.h>#include <string.h>char* EXUL(char tt[]){ char *p=tt;for(;*tt;tt++)if ((*tt>='A') && (*tt<='Z')) *tt-='A'-'a';return p;}void main(){ char tt[81]="BeijingWelCOM";printf( "%s\n",EXUL(tt));}运行结果:beijingwelcom。
C语言常考的知识点
C语言常考的知识点:总体上必须清楚的:1)程序结构是三种:顺序结构 , 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择).3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址。
4)bit是位是指为0 或者1。
byte 是指字节,一个字节 = 八个位。
5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中.2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入.5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号.main define scanf printf都不是关键字.迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字.2)实型数据的合法形式:2。
333e—1 就是合法的,且数据是2。
333×10-1.考试口诀:e前e后必有数,e后必为整数。
3)字符数据的合法形式::'1' 是字符占一个字节,”1”是字符串占两个字节(含有一个结束符号)。
’0' 的ASCII数值表示为48,’a' 的ASCII数值是97,'A’的ASCII数值是65。
4) 整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了.5)转义字符的考查:在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在.在程序中 int a = 06d, 是一个八进制的形式。
c语言 读程序题
c语言读程序题一、引言C语言是一种广泛应用于计算机编程的编程语言,它具有简单易学、高效灵活的特点。
在C语言的学习过程中,阅读和理解程序题是一种非常重要的技能,可以帮助我们更好地掌握C语言的基础知识和应用技巧。
本篇文章将介绍如何阅读和理解C语言程序题,并提供一些典型的题目和解答。
二、阅读程序题的方法1. 了解题目要求:在阅读程序题时,首先要认真阅读题目要求,明确题目所要求实现的功能和目标。
2. 梳理程序逻辑:根据题目要求,梳理程序的逻辑结构,了解程序各部分的功能和相互关系。
3. 逐行分析代码:对程序代码进行逐行分析,理解每行代码的作用和实现方式。
4. 调试和测试:对程序进行调试和测试,确保程序的正确性和稳定性。
三、典型题目及解答1. 题目:计算斐波那契数列要求:编写一个C程序,计算斐波那契数列的前n个数字。
解答:```c#include <stdio.h>int main() {int n, i, fib_num = 0, prev_fib_num = 1;printf("请输入要计算的斐波那契数列的项数:");scanf("%d", &n);printf("前%d个斐波那契数列为:", n);for (i = 1; i <= n; ++i) {printf("%d %d\n", prev_fib_num, fib_num);fib_num = prev_fib_num + fib_num;prev_fib_num = fib_num;}return 0;}```解释:该程序使用循环计算斐波那契数列,每次将前两个数字相加得到下一个数字,并将前一个数字作为下一个数字的前一个数字。
在循环结束后,程序输出前n个斐波那契数列的数字。
2. 题目:猜数字游戏要求:编写一个C程序,生成一个1-100之间的随机数字,让用户猜测该数字是多少,程序会根据用户猜测的数字给出提示,直到用户猜中为止。
用c语言实现读心术程序设计
用c语言实现读心术程序设计生活中,若用c语言实现读心术程序设计出现了,我们就不得不考虑它出现了的事实。
希腊曾经说过,最困难的事情就是认识自己。
这启发了我,现在,解决用c语言实现读心术程序设计的问题,是非常非常重要的。
所以,有人在不经意间这样说过,越是没有本领的就越加自命不凡。
这不禁令我深思。
这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。
生活中,若用c语言实现读心术程序设计出现了,我们就不得不考虑它出现了的事实。
用c语言实现读心术程序设计的发生,到底需要如何做到,不用c语言实现读心术程序设计的发生,又会如何产生。
要想清楚,用c语言实现读心术程序设计,到底是一种怎么样的存在。
每个人都不得不面对这些问题。
在面对这种问题时,要想清楚,用c 语言实现读心术程序设计,到底是一种怎么样的存在。
有人曾经说过,内外相应,言行相称。
这句话语虽然很短,但令我浮想联翩。
莎士比亚曾经说过,人的一生是短的,但如果卑劣地过这一生,就太长了。
这启发了我,生活中,若用c语言实现读心术程序设计出现了,我们就不得不考虑它出现了的事实。
问题的关键究竟为何?问题的关键究竟为何?既然如何,问题的关键究竟为何?用c语言实现读心术程序设计因何而发生?用c语言实现读心术程序设计因何而发生?用c语言实现读心术程序设计,发生了会如何,不发生又会如何。
用c语言实现读心术程序设计的发生,到底需要如何做到,不用c语言实现读心术程序设计的发生,又会如何产生。
谚语在不经意间这样说过,不幸可能成为通向幸福的桥梁。
带着这句话,我们还要更加慎重的审视这个问题:了解清楚用c语言实现读心术程序设计到底是一种怎么样的存在,是解决一切问题的关键。
用c语言实现读心术程序设计,发生了会如何,不发生又会如何。
我们都知道,只要有意义,那么就必须慎重考虑。
我们都知道,只要有意义,那么就必须慎重考虑。
用c语言实现读心术程序设计因何而发生?古人曾经说过,古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【2.1】以下程序的输出结果是。
#include <stdio.h>int main(){float a;a=1/100000000;printf("%g",a);return 0;}A) 0.00000e+00 B) 0.0C) 1.00000e-07 D) 0【2.2】下面程序的输出结果是____。
#include <stdio.h>main( ){int x=10;{ int x=20;printf ("%d,", x);}printf("%d\n", x);}A) 10,20 B) 20,10C) 10,10 D) 20,20【2.3】以下程序的输出结果是____。
main(){unsigned int n;int i=-521;n=i;printf("n=%u\n",n);}A) n=-521 B) n=521C) n=65015 D) n=102170103答案:4294966775【2.4】以下程序的输出结果是。
main( ){int x=10, y=10;printf("%d %d\n", x――, ――y);}A) 10 10 B) 9 9 C) 9 10 D) 10 9【2.5】以下程序的输出结果是____。
main(){int n=1;printf("%d %d %d\n",n,n++,n--);}A) 1 1 1 B) 1 0 1C) 1 1 0 D) 1 2 1【2.6】以下程序的输出结果是____。
main(){Int x=0x02ff, y=0x0ff00;printf("%d\n",(x&y)>>4|0x005f);}A) 127B) 255 C) 128 D) 1【2.7】以下程序的输出结果是____。
main(){int a=1;char c='a';float f=2.0;printf("%d\n",(!(a==0),f!=0&&c=='A'));}A) 0B) 1【2.8】下面程序的输出结果是____。
main(){int a=1,i=a+1;do{ a++ ;}while( !~i++ > 3);printf("%d\n",a);}A) 1 B) 2C) 3 D) 4【2.9】下面程序的输出结果是____。
main(){int a=111;a=a^00;printf("%d,%o\n",a,a);}A) 111,157B) 0,0 C) 20,24 D) 7,7【2.10】下面程序的输出结果是____。
main(){char s[12]= "a book";printf("%.4s",s);}A) a book! B) a book!<四个空格》C) a bo D) 格式描述错误,输出不确定【2.11】下面程序的输出结果是____。
main(){int a,b;scanf("%2d%3d",&a,&b);printf("a=%d b=%d\n",a,b);}A) a=12 b=34 B) a=123 b=45C) a=12 b=345 D) 语句右错误答案:A 或C【2.12】以下程序段的输出结果是。
int a=10,b=50,c=30;if(a>b) a=b;b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);A) a=10 b=50 c=10 B) a=10 b=30 c=10C) a=50 b=30 c=10 D) a=50 b=30 c=50【2.13】以下程序的输出结果是。
main(){int a=0,b=1,c=0,d=20;if(a) d=d-10;else if(!b)if(!c) d=15;else d=25;printf("d=%d\n",d);}A) d=10 B) d=15 C) d=20D) d=25 【2.14】下面程序的输出结果为。
main(){int a=1,b=0;switch(a){ case 1: switch (b){ case 0: printf("**0**");break;case 1: printf("**1**");break;}case 2: printf("**2**");break;}}A) **0** B) **0****2**C) **0****1****2** D) 有语法错误【2.16】下面程序的输出是。
main(){int x=1,y=0,a=0,b=0;switch(x){ case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A) a=2,b=1B) a=1,b=1 C) a=1,b=0 D) a=2,b=2【2.17】下面程序的输出是____。
main(){int num=0;while(num<=2){ num++;printf("%d\n",num);}}A) 1 B) 1 C) 1 D) 12 2 23 34【2.18】下面程序的输出结果是____。
main(){int a=1,b=0;do{ switch(a){ case 1: b=1;break;case 2: b=2;break;default : b=0;} b=a+b;}while(!b);printf("a=%d,b=%d",a,b);}A) 1,2B) 2,1 C) 1,1 D) 2,2【2.19】从键盘上输入"446755"时,下面程序的输出是____。
#include <stdio.h>main(){int c;while((c=getchar())!='\n') switch(c -'2'){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;}printf("\n");}A) 888988 B) 668966C) 88898787 D) 66898787【2.20】下面程序的输出结果是____。
main(){int k=0;char c='A';do{ switch(c++){ case 'A': k++;break;case 'B': k--;case 'C': k+=2;break;case 'D': k=k%2;contiue;case 'E': k=k+10;break;default: k=k/3;} k++;}while(c<'C') ;printf("k=%d\n",k);}A) k=1 B) k=2 C) k=3D) k=4【2.21】下面程序的输出结果是____。
main(){int x,i;for(i=1;i<=100;i++){ x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0) printf("%d ",x);}}A) 39 81 B) 42 84 C) 26 68 D) 28 70【2.22】下面程序的输出结果是____。
#include <stdio.h>main( ){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}A) 20 B) 21C) 22 D) 23【2.23】假定从键盘上输入"3.6,2.4<回车>",下面程序的输出是____。
#include <math.h>main(){float x,y,z;scanf("%f,%f",&x,&y);z=x/y;while(1){ if(fabs(z)>1.0){ x=y;y=z;z=x/y;}else break;}printf("%f\n",y);}A) 1.500000 B) 1.600000C) 2.000000 D) 2.400000【2.24】下面程序的输出结果是____。
main(){int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<-3;j++){ if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}A) x=4B) x=8 C) x=6 D) x=12【2.25】下面程序的输出结果是____。
main(){int i,j,k=10;for(i=0;i<2;i++){ k++;{ int k=0;for(j=0;j<=3;j++){ if(j%2) continue;k++;}}k++;}printf("k=%d\n",k);}A) k=4 B) k=8 C) k=14D) k=18【2.26】下面程序的输出结果是____。
#include <stdio.h>main( ){int n[3][3], i, j;for(i=0;i<3;i++ )for(j=0;j<3;j++ )n[i][j]=i+j;for(i=0;i<2;i++ )for(j=0;j<2;j++ )n[i+1][j+1]+=n[i][j];printf("%d\n", n[i][j]);}A) 14 B) 0 C) 6D) 不确定【2.27】下面程序的输出结果是____。